• Trang chủ

Học Trực Tuyến

Học trực tuyến sẽ giúp bạn trong việc học của mình. Hãy đến với hoctructuyen360 để ôn lại kiến thức và học trực tuyến miễn phí

  • Home
  • Business
    • Internet
    • Market
    • Stock
  • Downloads
    • Dvd
    • Games
    • Software
      • Office
  • Parent Category
    • Child Category 1
      • Sub Child Category 1
      • Sub Child Category 2
      • Sub Child Category 3
    • Child Category 2
    • Child Category 3
    • Child Category 4
  • Featured
  • Health
    • Childcare
    • Doctors
  • Uncategorized
Showing posts with label bài tập SQL. Show all posts
Showing posts with label bài tập SQL. Show all posts

Aug 28, 2012

Hàm ROW_NUMBER trong SQL

8:39 PM  bài tập SQL, SQL Server, Truy vấn SQL  No comments
Hàm ROW_NUMBER trong SQL

Xem thêm: Tìm hiểu về các câu lệnh trong SQL sever

Hàm ROW_NUMBER được đưa vào từ bản 2005, dùng để trả về một con số tuần tự gắn với mỗi bản ghi (do đó có tên như vậy, số của bản ghi). Hàm này giúp giải quyết một số bài toán dễ dàng hơn. Bài viết này giới thiệu hai ứng dụng của hàm ROW_NUMBER, nếu bạn có sử dụng hàm này vào những tình huống khác xin hãy bổ sung ở phần comment.
1. Phân trang:


Đây là ứng dụng khá phổ biến của hàm ROW_NUMBER và chỉ khai thác một dạng thức đơn giản của hàm. Trong ví dụ dưới đây tôi dựa vào dữ liệu từ database AdventureWorks. Giả sử tôi có một trang web hiển thị các đơn bán hàng trong tháng 6/2004. Vì có khá nhiều đơn hàng (hơn 2000) nên tôi muốn chia làm nhiều trang với mỗi trang chỉ hiển thị 100 đơn hàng. Khi muốn liệt kê đơn hàng cho trang thứ hai (đơn hàng từ 101-200) tôi có thể dùng code như sau:


Cú pháp tổng quát của hàm là ROW_NUMBER() OVER(), rườm rà hơn các hàm thông thường. Trong ví dụ trên, “ROW_NUMBER() OVER(ORDER BY OrderDate)” nghĩa là gán một con số tăng tuần tự cho mỗi bản ghi theo thứ tự của OrderDate, bắt đầu từ 1. Trong trường hợp tổng quát, bạn có thể viết một thủ tục và nhận các tham số vào là kích thước trang và số trang để tăng khả năng tùy biến:


Ở bản SQL Server 2000, giải pháp cho bài toán trên thường là SELECT vào một bảng tạm vốn đã có một trường IDENTITY, và sau đó SELECT từ bảng tạm với điều kiện lọc trường IDENTITY nằm trong khoảng cần trả về. Cách làm dùng hàm ROW_NUMBER ở trên gọn gàng hơn một chút, tuy nhiên về hiệu năng tôi cho là cả hai cách đều giống nhau.2. Lấy về TOP bản ghi theo chủng loại

Cũng dựa vào ví dụ trên, giả sử nay tôi muốn lấy về top 5 đơn hàng có trị giá lớn nhất tại mỗi vùng (TerritoryID). Như vậy nếu có 10 vùng thì tôi sẽ nhận được 50 bản ghi trong đó mỗi vùng chiếm 5 bản ghi chứa các đơn hàng có giá trị lớn nhất của vùng đó:


Ở ví dụ trên hàm có sử dụng thêm mệnh đề “PARTITION BY TerritoryID” để chỉ định rằng giá trị chỉ tăng tuần tự trong phạm vi của TerritoryID, khi gặp một TerritoryID mới thì reset lại giá trị từ 1. Còn mệnh đề “ORDER BY TotalDue DESC” đảm nhiệm sắp xếp các bản ghi theo thứ tự TotalDue giảm dần. Do đó bản ghi có TotalDue lớn nhất được gán là 1, bản ghi tiếp theo là 2… Đến khi gặp TerritoryID mới nó lại lặp lại quá trình đó và bản ghi có TotalDue lớn nhất ở TerritoryID mới này lại được gán là 1 và cứ tiếp tục như thế. Ở đây bạn mới thấy thế mạnh của hàm ROW_NUMBER. Trước kia khi muốn làm một điều tương tự, chắc bạn vẫn phải SELECT vào một bảng tạm rồi dùng một thuật toán rất loằng ngoằng để gán số thứ tự cho các bản ghi như vậy.

Nguồn: Vũ Huy Tâm (SQL Việt)

Read More

Jun 12, 2012

SQL online trích từ Giáo trình SQL[ chuẩn ]

9:24 PM  bài tập SQL, SQL Server, Tài liệu CNTT, Truy vấn SQL  No comments
CHƯƠNG 1 : TỔNG QUAN VỀ SQL
SQL là ngôn ngữ cơ sở dữ liệu quan hệ
Vai trò của SQL
Tổng quan về cơ sở dữ liệu quan hệ
Mô hình dữ liệu quan hệ
Bảng (Table)
Khoá của bảng
Mối quan hệ và khoá ngoài
Sơ lược về SQL
Câu lệnh SQL
Qui tắc sử dụng tên trong SQL
Kiểu dữ liệu
Giá trị NULL
Kết chương 
CHƯƠNG 2 : NGÔN NGỮ THAO TÁC DỮ LIỆU
Truy xuất dữ liệu với câu lệnh SELECT
Mệnh đề FROM
Danh sách chọn trong câu lệnh SELECT
Chỉ định điều kiện truy vấn dữ liệu
Tạo mới bảng dữ liệu từ kết quả của câu lệnh SELECT
Sắp xếp kết quả truy vấn
Phép hợp
Phép nối
Sử dụng phép nối
Các loại phép nối
Sử dụng phép nối trong SQL
Thống kê dữ liệu với GROUP BY
Thống kê dữ liệu với COMPUTE
Truy vấn con (Subquery)
Bổ sung, cập nhật và xoá dữ liệu
Bổ sung dữ liệu
Cập nhật dữ liệu
Xoá dữ liệu
Bài tập chương 

CHƯƠNG 3: NGÔN NGỮ ĐỊNH NGHĨA DỮ LIỆU
Tạo bảng dữ liệu
Ràng buộc CHECK
Ràng buộc PRIMARY KEY
Ràng buộc UNIQUE
Ràng buộc FOREIGN KEY
Sửa đổi định nghĩa bảng 
Xoá bảng 
Khung nhìn
Tạo khung nhìn
Cập nhật, bổ sung và xoá dữ liệu thông qua khung nhìn
Sửa đổi khung nhìn
Xoá khung nhìn
Bài tập chương 

CHƯƠNG 4 : BẢO MẬT TRONG SQL
Các khái niệm 
Cấp phát quyền
Cấp phát quyền cho người dùng trên các đối tượng cơ sở dữ liệu
Cấp phát quyền thực thi các câu lệnh
Thu hồi quyền
Thu hồi quyền trên đối tượng cơ sở dữ liệu:
Thu hồi quyền thực thi các câu lênh:

CHƯƠNG 5: THỦ TỤC LƯU TRỮ, HÀM VÀ TRIGGER
Thủ tục lưu trữ (stored procedure)
Các khái niệm
Tạo thủ tục lưu trữ
Lời gọi thủ tục lưu trữ
Sử dụng biến trong thủ tục
Giá trị trả về của tham số trong thủ tục lưu trữ
Tham số với giá trị mặc định
Sửa đổi thủ tục
Hàm do người dùng định nghĩa
Định nghĩa và sử dụng hàm
Hàm với giá trị trả về là “dữ liệu kiểu bảng”
Trigger 
Định nghĩa trigger
Sử dụng mệnh đề IF UPDATE trong trigger
ROLLBACK TRANSACTION và trigger
Sử dụng trigger trong trường hợp câu lệnh INSERT, UPDATE và DELETE có tác động đến nhiều dòng dữ liệu
Sử dụng truy vấn con
Sử dụng biến con trỏ
Bài tập chương 

CHƯƠNG 6: GIAO TÁC SQL
Giao tác và các tính chất của giao tác 
Mô hình giao tác trong SQL 
Giao tác lồng nhau 


PHỤ LỤC
A Cơ sở dữ liệu mẫu sử dụng trong giáo trình 
B Một số hàm thường sử dụng
B1. Các hàm trên dữ liệu kiểu chuỗi
B2. Các hàm trên dữ liệu kiểu ngày giờ
B3. Hàm chuyển đổi kiểu

Xem chi tiết tại đây: http://kenhdaihoc.com/forum/showthread.php?t=4517
Read More

Apr 24, 2012

Trigger và các câu lệnh trong SQL

1:02 PM  bài tập SQL, SQL Server, Tài liệu CNTT, Tài liệu giáo trình ĐH, Truy vấn SQL  No comments
Trigger là một kiểu thủ tục được lưu đặc biệt, chúng được tự
động gọi khi bạn sửa đổi dữ liệu mà trigger được thiết kế để
bảo vệ.

• Các trigger giúp bảo đảm sự toàn vẹn cho dữ liệu của bạn bằng 
cách ngăn không cho những sự thay đổi không nhất quán được 
thực hiện.
• Vd : lương của nhân viên không thể cao hơn lương của người 
quản lý.


Download : http://www.mediafire.com/?5hjeqwny35p0xp1



Update
Còn đây là Tổng hợp tài liệu về môn cơ sở dữ liệu được mình sưu tầm và tổng hợp. Update liên tục trong 1 folder duy nhất
      Download : http://www.mediafire.com/?tdctm139p5467

      Password : wWw.kenhdaihoc.com


Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3469
Read More

Thuyết trình cơ sở dữ liệu - Ngôn ngữ SQL

1:01 PM  bài tập SQL, SQL Server, Tài liệu CNTT, Tài liệu giáo trình ĐH, Truy vấn SQL  No comments
Đồng tác giả: nhóm gồm

1.VŨ ĐÌNH HƯỚNG TD2 
2.TRẦN PHƯỚC THỊNH TD23.PHẠM MINH THÀNH TD3
4.LÊ HỒNG HIẾU TD3 
5.ĐỖ THỊ HOA TD1 
6.NGUYỄN THỊ THÙY HƯƠNG TD1
Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3468


 Download : http://www.mediafire.com/download.php?4yvlbh00h430im6



Update
Còn đây là Tổng hợp tài liệu về môn cơ sở dữ liệu được mình sưu tầm và tổng hợp. Update liên tục trong 1 folder duy nhất
      Download : http://www.mediafire.com/?tdctm139p5467

      Password : wWw.kenhdaihoc.com
Read More

Thiết kế cơ sỡ dữ liệu quan hệ trong SQL [PowerPoint]

1:00 PM  bài tập SQL, SQL Server, Tài liệu CNTT, Tài liệu giáo trình ĐH, Truy vấn SQL  No comments
THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ (Relational Database Designing)
NGÔN NGỮ TRUY VẤN SQL(Structured Query Language = ngôn ngữ truy vấn có cấu trúc)


Nội dung tài liệu
Bấm vào đây để xem nội dung đầy đủ


Bài giảng bằng PowerPoint


 Download : http://www.mediafire.com/download.php?uwn1loa91auj4so

Update
Còn đây là Tổng hợp tài liệu về môn cơ sở dữ liệu được mình sưu tầm và tổng hợp. Update liên tục trong 1 folder duy nhất
      Download : http://www.mediafire.com/?tdctm139p5467

      Password : wWw.kenhdaihoc.com
Read More

SQL - Ngôn ngữ đinh nghĩa dữ liệu

12:59 PM  bài tập SQL, SQL Server, Tài liệu CNTT, Tài liệu giáo trình ĐH, Truy vấn SQL  No comments
Tài liệu chứa các lệnh trong SQL rất hay, mình đã tham khảo qua. khá good 


Download : http://www.mediafire.com/download.php?vrhkjjbd2ob691k

Update
Còn đây là Tổng hợp tài liệu về môn cơ sở dữ liệu được mình sưu tầm và tổng hợp. Update liên tục trong 1 folder duy nhất
      Download : http://www.mediafire.com/?tdctm139p5467

      Password : wWw.kenhdaihoc.com


Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3465
Read More

Apr 22, 2012

So sánh MySQL và SQL server !

8:07 AM  bài tập SQL, SQL Server, Truy vấn SQL  No comments

MS SQL và MySQL đều có những điểm đặc thù của chúng. Nếu cần so sánh, nên so sánh theo tính năng, hiệu suất, bảo mật và khả năng phục hồi.... 

Tôi thấy MySql phiên bản 4.x không thể so với MSSQL vì phiên bản này thiếu khá nhiều tính năng quan trọng để được xếp loại là một CSDL hạng nặng (ví dụ như thiếu ứng dụng View, StoreProc, Triggers...). Để công bằng nên thử so sánh MySql 5.x và MSSQL 2005. 

1. Tính năng: 
Tôi cho rằng MySql hơn MSSQL ở tính năng cung cấp nhiều loại storage engine. Tuy nhiên tính về mặt integration chặt chẽ cho trọn bộ hệ thống và công cụ phát triển software thì MSSQL integrate tốt hơn MySql, đặc biệt ở mảng .NET. MSSQL còn hỗ trợ XML trực tiếp trong DB, trong khi đó thì MySQL chưa làm được chuyện này. Các chức năng cần thiết như View, StoreProcedure, Trigger thì cả hai tương đương nhau. 

2. Hiệu suất: 
Tính về mặt hiệu suất, có rất nhiều thử nghiệm và tường trình cho rằng MSSQL perform kém hơn MySQL nhiều mặt. MSSQL đòi hỏi tài nguyên rất lớn (CPU mạnh, nhiều RAM...), nếu không nó rất ì ạch. MySQL không đòi hỏi nhiều như MSSQL. MySQL có thể chạy trên các UNIX highend system và perform tốt hơn MSSQL trên Windows highend server trong nhiều trường hợp. 

3. Bảo mật: 
MSSQL qua mặt MySQL về tính bảo mật ở column level. MySQL chỉ có thể set access đến row level là hết. Hệ thống xác thực người dùng của MSSQL cũng qua mặt MySQL. Tuy vậy, trên bình diện "để hở cổng" thì MSSQL dễ bị exploit hơn MySQL bởi MSSQL tích hợp quá chặt vào hệ điều hành. Lỗi của hệ điều hành hoặc một bộ phận nào đó dẫn đến việc nhân nhượng MSSQL nhanh chóng hơn MySQL. 

4. Khả năng nhân bản (replication): 
Cả hai đều có khả năng replicate hoặc cung cấp phương tiện để làm việc này. Tuy nhiên, MySQL nhanh hơn và ít sự cố hơn MSSQL vì tất cả các SQL statements dùng để thay đổi, cập nhật dữ liệu được lưu giữ trong binary log. MSSQL cung cấp nhiều phương pháp replicate cao cấp hơn, chi tiết hơn bởi thế nó phức tạp hơn và chậm hơn. 

5. Khả năng phục hồi (recovery): 
Nếu MySQL chạy thuần túy với MyISAM storage engine thì khả năng phục hồi (sau khi bị crash) không cách gì so sánh với MSSQL. Tuy nhiên nếu MySQL chạy với Innodb engine thì khả năng phục hồi không thua kém gì MSSQL. Ngoài ra, khả năng phục hồi còn được xét ở biên độ liên quan đến khả năng nhân bản (replication) ở trên. Bởi vì MSSQL cung cấp nhiều phương thức nhân bản nên việc phục hồi dữ liệu trên MSSQL dễ dàng hơn. 

6. Phí tổn: 
MySQL bản community không hề tốn tiền để mua nhưng bạn phải tự xắn tay áo lên. Tuy nhiên cài đặt, sử dụng và tối ưu MySQL không khó vì tài liệu của nó rất đầy đủ, thông tin về MySQL tràn ngập trên web. So với MSSQL, bạn phải trả gần một ngàn rưỡi đô cho 1 license MSSQL standard và khi cần support, bạn phải trả thêm tiền support (tùy case). MS vẫn cung cấp bản MSSQL không thu phí dành cho mục đích development. Tài liệu về MSSQL cũng rất nhiều trên mạng. Bản MySQL enterprise thì phải trả tiền (khoảng 400 đô) nhưng bạn được support đầy đủ. 

Kinh nghiệm bản thân tôi thấy MySQL dùng được. Có thể cáng đáng khối lượng dữ liệu rất lớn. Tuy vậy, dùng MyISAM thì nhanh nhưng sẽ gặp nhiều vấn đề phức tạp. Dùng Innodb thì chậm hơn nhưng ít bị những trục trặc về "deadlock". Dùng MSSQL thì server phải tốt không thì ì ạch lắm. Nói chung, dùng CSDL nào đi chăng nữa, việc tối ưu chúng là việc không thể thiếu được. Việc nhập / xuất dữ liệu nên xét thật kỹ lưỡng và logic. Không lạm dụng tính năng của CSDL và phó mặc cho chúng. Tất cả các SQL statement phải "make sense" và vừa đủ. 

[SOURCE]hvaonline.net[/SOURCE]
Read More

Apr 18, 2012

Cơ sở dữ liệu - Ngôn ngữ SQL [ Bộ môn công nghệ phần mềm - ĐH Thủy lợi]

7:22 PM  bài tập SQL, Mới nhất, SQL Server, Tài liệu CNTT  No comments

Password : Nếu có: Kenhdaihoc.com
Download : http://www.mediafire.com/download.php?qye9rpn0nq0ii5e
Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3318

Read More

Apr 17, 2012

Tài liệu Bài giảng môn cơ sở dữ liệu gồm 5 chương khá chi tiết [ Power Point]

9:13 PM  bài tập SQL, SQL Server, Tài liệu CNTT, Tài liệu giáo trình ĐH, Truy vấn SQL  No comments
Chương 1: Hệ Quản trị cơ sở dữ liệu DBMS
Chương 2- Tạo và Thiết lập các ràng buộc CSDL
Chương 3-Khai thác, quản lý và duy trì dữ liệu
Chương 4-Làm việc với View và Chỉ mục
Chương 5-Lập trình, thủ tục lưu trữ, hàm và Trigger ( Chương này hay nhất nek )

      Password : kenhdaihoc.com

      Download : http://www.mediafire.com/download.php?4fa158kw5p6sno0


Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3283
Read More

8 Câu hỏi và trả lời [ Bài tập quản lý điểm tốt nghiệp] - Tạo bảng ảo(View)

3:07 PM  bài tập SQL, SQL Server, Tài liệu CNTT, Truy vấn SQL  No comments
Tạo một database QLDiem_TN gồm các table sau

1: TABLE SINH VIÊN








2: TABLE ĐỀ TÀI






3: TABLE SV_DETAI











4: TABLE HOCHAM











5: TABLE GIAOVIEN










6: TABLE HOCVI












7: TABLE CHUYENNGANH












8: TABLE GV_HV_CN






9: TABLE GV_HĐT











10: GV_PBDT











11: GV_UVDT











11: TABLE HOIDONG











12: TABLE HOIDONG_GV











14: TABLE HOIDONG_DT












Tạo bảng ảo (view) với các câu hỏi sau

Câu 1: Ứng với mỗi đề tài cho biết: Tên đề tài, tên sinh viên tham gia, tên giáo viên hướng dẩn, tên giáo viên phản biện

Câu 2: Ứng với mỗi giáo viên cho biết: Tên đề tài hướng dẩn

Câu 3: Ứng với mỗi giáo viên cho biết: Tên đề tài phản biện

Câu 4: Ứng với mỗi hội đồng bảo vệ thử cho biết: Tên đề tài, quyết định được bảo vệ thật hay không?

Câu 5: Ứng với mỗi hội đồng bảo vệ thật co biết: Tên đề tài, điểm cuối cùng của mỗi đề tài ( DIEMTB=diem.GVHD+diem.GVPB+sum(diem.GVUV)

Câu 6: Ứng với mỗi đề tài cho biết: Tên đề tài,tên sinh viên, điểm của mỗi giáo viên thuộc hội đồng

Câu 7: Ứng với mỗi hội đồng cho biết: Thời gian, ngày, số lượng đề tài bảo vệ, tên chủ tịch hội đồng.

Câu 8: Ứng với mỗi hội đồng cho biết: Tên giáo viên thuộc hội đồng và số điện thoại.

Download file SQL: 
http://kenhdaihoc.com/forum/attachment.php?attachmentid=19&d=1334649662
Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=3273

/* Su dung Query analyzer thuc hien cac cau hoi sau */

/* Cau 1: Tao mot Database QLDiem_TN gom cac bang sao */

create database QLDiem_TN

on primary /* Tap tin chinh */(name=QLDiem_TN,filename='D:\Sql Server\QLDiem_TN.mdf',size=10MB,maxsize=200MB,filegrowth=10%)

log on /* Tap tin luu vet */(name=QLDiem_TN_log,filename='D:\Sql Server\QLDiem_TN_log.ldf',size=20MB,maxsize=200MB,filegrowth=10%)

/* Tao bang */create table SINHVIEN(MSSV char(6) not null,TENSV varchar(30)not null,SODT varchar(10) not null,LOP char(6) not null,DIACHI char(50) not nullconstraint PK_SINHVIEN_MSSV primary key(MSSV)) 

create table DETAI(MSDT char(6) not null,TENDT varchar(30) not null,constraint PK_DETAI_MSDT primary key(MSDT))

create table SV_DETAI(MSSV char(6) not null,MSDT char(6) not null,constraint FK_SV_DETAI_MSSV foreign key(MSSV) references SINHVIEN(MSSV),constraint FK_SV_DETAI_MSDT foreign key(MSDT) references DETAI(MSDT))

create table HOCHAM(MSHH smallint not null,TENHH varchar(20) not null,constraint PK_HOCHAM_MSHH primary key(MSHH))

create table GIAOVIEN(MSGV smallint not null,TENGV varchar(30)not null,DIACHI varchar(50) not null,SODT varchar(10) not null,MSHHAM smallint not null,NAMHH smalldatetime not nullconstraint PK_GIAOVIEN_MSGV primary key(MSGV),constraint FK_GIAOVIEN_MSHHAM foreign key(MSHHAM) references HOCHAM(MSHH) )

create table HOCVI(MSHV smallint not null,TENHV varchar(10) not null,constraint PK_HOCVI_MSHV primary key(MSHV))

create table CHUYENNGANH(MSCN smallint not null,TENCN varchar(30) not null,constraint PK_CHUYENNGANH_MSCH primary key(MSCN))

create table GV_HV_CN(MSGV smallint not null,MSHV smallint not null,MSCN smallint not null,NAM smalldatetime not null,constraint PK_GV_HV_CN_MSGV_MSHV_MACN primary key(MSGV,MSHV,MSCN),constraint FK_GV_HV_CN_MSGV foreign key(MSGV) references GIAOVIEN(MSGV),constraint FK_GV_HV_CN_MSHV foreign key(MSHV) references HOCVI(MSHV),constraint FK_GV_HV_CN_MSCN foreign key(MSCN) references CHUYENNGANH(MSCN) )

create table GV_HDDT(MSGV smallint not null,MSDT char(6) not null,DIEM float not null,constraint PK_GV_HDDT_MSGV_MSDT primary key(MSGV,MSDT),constraint FK_GV_HDDT_MSGV foreign key(MSGV) references GIAOVIEN(MSGV),constraint FK_GV_HDDT_MSDT foreign key(MSDT) references DETAI(MSDT))

create table GV_PBDT(MSGV smallint not null,MSDT char(6) not null,DIEM float not null,constraint PK_GV_PBDT_MSGV_MADT primary key(MSGV,MSDT),constraint FK_GV_PBDT_MSGV foreign key(MSGV) references GIAOVIEN(MSGV),constraint FK_GV_PBDT_MSDT foreign key(MSDT) references DETAI(MSDT) )

create table GV_UVDT(MSGV smallint not null,MSDT char(6) not null,DIEM float not null,constraint PK_GV_UVDT_MSGV_MSDT primary key (MSGV,MSDT),constraint FK_GV_UVDT_MSGV foreign key(MSGV) references GIAOVIEN(MSGV),constraint FK_GV_UVDT_MSDT foreign key(MSDT) references DETAI(MSDT))

create table HOIDONG(MSHD smallint not null,PHONG smallint,TGBD datetime,NGAYHD smalldatetime not null,TINHTRANG varchar(30) not null,MSGVCTHD smallint not null,constraint PK_HOIDONG_MSHD primary key(MSHD),constraint FK_HOIDONG_MSGVCTHD foreign key(MSGVCTHD)references GIAOVIEN(MSGV) )

create table HOIDONG_GV(MSHD smallint not null,MSGV smallint not null,constraint PK_HOIDONG_GV_MSHD_MSGV primary key(MSHD,MSGV),constraint FK_HOIDONG_GV_MSHD foreign key(MSHD) references HOIDONG(MSHD),constraint FK_HOIDONG_GV_MSGV foreign key(MSGV) references GIAOVIEN(MSGV) )

create table HOIDONG_DT(MSHD smallint not null,MSDT char(6) not null,QUYETDINH char(10),constraint PK_HOIDONG_DT_MSHD_MSDT primary key(MSHD,MSDT),constraint FK_HOIDONG_DT_MSHD foreign key(MSHD) references HOIDONG(MSHD),constraint FK_HOIDONG_DT_MSDT foreign key(MSDT) references DETAI(MSDT))

/* Cau 2: Nhap du lieu cho cac table */

/* Nhap du lieu cho bang SINHVIEN */insert into SINHVIEN(MSSV,TENSV,DIACHI,LOP,SODT)select '97TH01','Nguyen Van An','12 NTMK','97TH01','9688543' unionselect '97TH02','Tran Hung','13/4 LCT','97TH01','6453443' unionselect '97TH03','Le Thuy Hang','24 Pasteur','97TH01','8544457' unionselect '97TH04','Ngo Khoa','54/12 LHP','97TH02','8545439' unionselect '97TH05','Pham Tai','12 HPT','97TH02','8149023' unionselect '97TH06','Dinh Tien','31 THD','97TH01','8956123'

/* Nhap du lieu cho bang DETAI */insert into DETAI(MSDT,TENDT)select '97001','Quan ly thu vien' unionselect '97002','Nhan dang van tay' unionselect '97003','Ban dau gia tren mang' union select '97004','Quan ly sieu thi' union select '97005','Xu ly anh' 



/* Nhap du lieu cho bang SV_DETAI */insert into SV_DETAIselect '97TH01','97004' unionselect '97TH02','97005' unionselect '97TH03','97001' unionselect '97TH04','97002' unionselect '97TH05','97003' unionselect '97TH06','97005'

/* Nhap du lieu cho bang HOCHAM */insert into HOCHAM(MSHH,TENHH)values('1','Pho giao su')insert into HOCHAM(MSHH,TENHH)values('2','Giao su')

/* Nhap du lieu cho bang GIAOVIEN */insert into GIAOVIEN(MSGV,TENGV,DIACHI,SODT,MSHHAM,NAMHH)select '1','Nguyen Van A','11 NVD','8754321','1','1/1/1996' unionselect '2','Tran Thu Trang','54 XVNT','8964334','1','1/1/1996' unionselect '3','Le Trung','12/5/CMTT','8903561','1','1/1/1996' unionselect '4','Nguyen Thi Loan','321 BTX','8012864','2','1/1/1997' unionselect '5','Chu Van Tien','1/60 TVD','8157906','2','1/1/1997'

/* Nhap du lieu cho bang HOCVI */insert into HOCVI(MSHV,TENHV)select '1','KS' unionselect '2','CN' union select '3','Th.S' union select '4','TS' union select '5','TSKH'

/* Nhap du lieu cho bang CHUYENNGANH*/insert into CHUYENNGANH(MSCN,TENCN)select '1','He thong thong tin' unionselect '2','Mang' unionselect '3','Do hoa' unionselect '4','Cong nghe phan mem'

/* Nhap du lieu cho bang GV_HV_CN*/insert into GV_HV_CN(MSGV,MSHV,MSCN,NAM)select '1','1','1','1/1/1999' unionselect '1','1','2','1/1/1999' unionselect '1','2','1','1/1/1998' unionselect '2','3','2','1/1/1997' unionselect '3','2','4','1/1/1997' unionselect '4','3','2','1/1/1996' 

/* Nhap du lieu cho bang GV_HDDT*/insert into GV_HDDT(MSGV,MSDT,DIEM)select '1','97001','7' unionselect '2','97002','8' unionselect '3','97003','9' unionselect '4','97004','8.5' unionselect '5','97005','7' 
/* Nhap du lieu cho bang GV_PBDT*/insert into GV_PBDT(MSGV,MSDT,DIEM)select '1','97005','5' unionselect '2','97001','7' unionselect '3','97004','6' unionselect '4','97003','8.5' unionselect '5','97002','8'

/* Nhap du lieu cho bang GV_UVDT*/insert into GV_UVDT(MSGV,MSDT,DIEM)select '5','97005','6' unionselect '2','97005','5' unionselect '4','97005','5' unionselect '3','97001','7' unionselect '4','97001','7' unionselect '5','97001','8' unionselect '3','97003','10' unionselect '1','97003','7' unionselect '2','97003','7' unionselect '1','97004','8' unionselect '2','97004','9' unionselect '3','97004','5' unionselect '1','97002','9' unionselect '4','97002','9' unionselect '5','97002','6'

/* Nhap du lieu cho bang HOIDONG*/insert into HOIDONG(MSHD,PHONG,TGBD,NGAYHD,TINHTRANG,MSGVCTHD)select '1','002','7:00','10/30/2001','That','1' unionselect '2','102','7:00','10/31/2001','Thu','2' unionselect '3','003','8:00','10/31/2001','That','3'

/* Nhap du lieu cho bang HOIDONG_GV*/insert into HOIDONG_GV(MSHD,MSGV)select '1','1' unionselect '1','2' unionselect '1','3' unionselect '1','4' unionselect '2','3' unionselect '2','2' unionselect '2','5' unionselect '2','4' union select '3','1' unionselect '3','2' unionselect '3','3' unionselect '3','4'

/* Nhap du lieu cho bang HOIDONG_DT*/insert into HOIDONG_DT(MSHD,MSDT,QUYETDINH)select '1','97001','Duoc' unionselect '1','97002','Duoc' unionselect '2','97003','Khong' unionselect '2','97004','Khong' unionselect '1','97005','Duoc' unionselect '3','97001','Khong' unionselect '3','97002','Duoc' unionselect '3','97004','Khong'

/* Cau III: Tao cac bang ao(view) nhu sau */

/* Cau1: Ung voi moi de tai cho biet: ten de tai, ten sinh vien tham gia, ten giao vien huong dan, ten giao vien phan bien */create view cau1asselect TENDT,TENSV, GV1.TENGV as [GIAO VIEN HUONG DAN],GV2.TENGV as [GIAO VIEN PHAN BIEN]from DETAI DT,SINHVIEN SV, SV_DETAI SV_DT,GIAOVIEN GV1, GIAOVIEN GV2,GV_HDDT,GV_PBDTwhere DT.MSDT=SV_DT.MSDT and SV.MSSV=SV_DT.MSSV and DT.MSDT= GV_HDDT.MSDT and DT.MSDT=GV_PBDT.MSDTand GV1.MSGV=GV_HDDT.MSGV and GV2.MSGV=GV_PBDT.MSGVand GV1.TENGV in(select GV1.TENGV from DETAI, GIAOVIEN,GV_HDDT where DT.MSDT=GV_HDDT.MSDT and GV1.MSGV=GV_HDDT.MSGV)and GV2.TENGV in(select GV2.TENGV from DETAI, GIAOVIEN,GV_PBDTwhere DT.MSDT=GV_PBDT.MSDT and GV2.MSGV=GV_PBDT.MSGV)goselect*from cau1

/* Cau 2: Ung voi moi giao vien cho biet ten de tai huong da */create view cau2asselect TENGV,TENDTfrom GIAOVIEN inner join GV_HDDT on GIAOVIEN.MSGV=GV_HDDT.MSGVinner join DETAI on DETAI.MSDT=GV_HDDT.MSDTgoselect *from cau2/* cach 2 */create view cau2_otherwiseas select TENGV,TENDTfrom GIAOVIEN,DETAI,GV_HDDTwhere(GIAOVIEN.MSGV=GV_HDDT.MSGV and GV_HDDT.MSDT=DETAI.MSDT) goselect *from cau2_otherwise

/*Cau 3: Ung voi moi giao vien cho biet: Ten de tai huong dan */create view cau3asselect TENGV,TENDTfrom DETAI,GIAOVIEN,GV_HDDTwhere (DETAI.MSDT=GV_HDDT.MSDT and GIAOVIEN.MSGV=GV_HDDT.MSGV) goselect *from cau3

create view cau3_otherwiseasselect TENGV,TENDTfrom DETAI inner join GV_HDDT on DETAI.MSDT=GV_HDDT.MSDTinner join GIAOVIEN on GIAOVIEN.MSGV=GV_HDDT.MSGVgoselect *from cau3_otherwise
/* Cau 4: Ung voi moi hoi dong bao ve "that" cho biet: ten de tai, quyet dinh duoc bao ve hay khong? */create view cau4asselect DETAI.TENDT,HOIDONG_DT.QUYETDINHfrom DETAI,HOIDONG_DT,HOIDONGwhere(DETAI.MSDT=HOIDONG_DT.MSDT AND HOIDONG.MSHD=HOIDONG_DT.MSHD AND HOIDONG.TINHTRANG='THU')goselect *from cau4
/*cau 5: ung voi moi hoi dong bao ve "that" cho biet: ten de tai, diem cuoi cung cua moi de tai(DIEMTB=diemGVHD+diem.GVPB+sum(diemGV+UV) */create view cau5 /* MÌNH CHUA LÀM RA :d BAN NAO LAM RA ROI GIUP MINH VOI NHÉ ]asselect DETAI.TENDT,avg(GV_HDDT.DIEM+GV_PBDT.DIEM) + sum(GV_UVDT.DIEM) as [DIEM TB]from DETAI,GV_UVDT,GV_HDDT,GV_PBDTwhere(DETAI.MSDT=GV_HDDT.MSDT and DETAI.MSDT=GV_PBDT.MSDT and GV_UVDT.MSDT=DETAI.MSDT)group by TENDTgoselect *from cau5

/* Cau 6: Ung voi moi hoi dong cho biet: Ten de tai, ten sinh vien,diem cua moi giao vien thuoc hoi dong */create view cau6asselect DETAI.TENDT,SINHVIEN.TENSV,GV_HDDT.DIEM AS[DIEM GV HDDT],GV_PBDT.DIEM AS[DIEM GV PBDT]from DETAI,SINHVIEN,GV_HDDT,GV_PBDT,SV_DETAIwhere(SINHVIEN.MSSV=SV_DETAI.MSSV AND GV_HDDT.MSDT=GV_PBDT.MSDT AND SV_DETAI.MSDT=DETAI.MSDT AND GV_HDDT.MSDT=SV_DETAI.MSDT AND GV_PBDT.MSDT=SV_DETAI.MSDT)goselect *from cau6

/*Cau7:ung voi moi hoi dong cho biet: thoi gian, ngay, so luong de tai bao ve. ten chu tich hoi dong */ create view cau7([THOI GIAN],[NGAY BAO VE],[SO LUONG DE TAI],[ TEN CTHD])asselect cast(datepart(hour,TGBD) as varchar)+'GIO',cast(day(NGAYHD) as varchar)+'-'+cast(month(NGAYHD)as varchar)+'-'+cast(year(NGAYHD)as varchar),count(MSDT),TENGVfrom HOIDONG T1,HOIDONG_DT T2,GIAOVIEN T3where T1.MSHD=T2.MSHD and MSGVCTHD=MSGV group by TGBD,NGAYHD,TENGVgoselect *from cau7

/* Cau 8: Ung voi moi hoi dong cho biet: Ten giao vien thuoc hoi dong va so dien thoai */create view cau8asselect TENGV,SODTfrom GIAOVIEN,HOIDONGwhere (GIAOVIEN.MSGV=HOIDONG.MSGVCTHD)goselect *from cau8


Read More
Older Posts Home
View mobile version
Subscribe to: Comments (Atom)

Social Profiles

TwitterFacebookGoogle PlusLinkedInRSS FeedEmail
  • Popular
  • Tags
  • Blog Archives
  • Xây dựng lớp tamgiác trong C++
    Xây dựng một lớp tamgiac có các thành phần sau: - Các thuộc tính là các cạnh a, b, c - Các hàm thành phần bao gồm: + Hàm nhập giá trị cho cá...
  • Mod nhắc mở các thành viên chưa post bài- VSa-Attention-Zero-Posters
    Demo: kenhdaihoc.com Nội dung liên quan-Tìm hiểu thêm về: Chức năng: Sau 1 thời gian đăng ký (mình đặt được thời gian này), nếu thành viên k...
  • Toán Cao Cấp 2 bài 1+2
    Sau đây là video bổ trợ kiến thức đại học về Toán Cao Cấp 2 dành cho nhựng bạn sinh viên đại học năm nhất. Nào chúng ta hãy cùng theo...
  • 10 công cụ theo dõi website tốt nhất hiện nay
    Một trong những khía cạnh quạn trọng để chạy website là theo dõi sự hoạt động của nó. Vệc theo dõi website sẽ cho biết sự hoạt động của nó v...
  • Mod Forum Icons cho vbb 4 - Test thành công
    Trích từ:  tổng hợp thủ thuật vBulletin Mình đã làm rùi... Ok... Demo: kenhdaihoc.com   Link Down http://www.mediafire.com/?9i19lmcuc89id0m ...
  • Bài giảng kế toán xây dựng cơ bản
    Bài giảng Kế Toán Xây Dựng Cơ Bản Loại: Giáo trình-Bài giảng-Giáo án Tác giả: Bùi Nữ Thanh Hà Sơ lược nội dung . Chương 1 Những vấn đề chung...
  • Mod Tạo Thông báo dạng Popup FORUMHOME vBB - Test thành công
    Trích từ:  tổng hợp thủ thuật vBulletin Mod được viết bởi: Mr.Km (Vietvbb) Mod này đc phát triển từ mod vb3 của Bác Lai bên SVIT Cài đặt: Im...
  • mod đăng ký chạy dọc forum vbb - Đã test thành công
    Trích từ:  tổng hợp thủ thuật vBulletin Hướng dẫn cài đặt: Tải file sau Giải nén, upload file float-button-reg.js vào thư mục clientscript c...
  • Tìm hiểu bài " người cầm quyền khôi phục uy quyền"
    I. Tiểu dẫn: 1. Tác giả - Vích-to Huy-gô : 1802-1885 - Cuộc đời gắn kiền với nước Pháp thế kỷ 19. Từ một nhà thơ thần đồng, một quí tộc thàn...
  • x2ico – Phần mềm chuyển đổi hình ảnh sang định dạng Icon
    Nếu bạn muốn tùy biến biểu tượng các thư mục trong  Windows , bạn cần phải sử dụng đến định dạng tập tin ảnh .ico. Trên thực tế, những tập t...

Blog Archive

  • ▼  2014 (13)
    • ▼  February (13)
      • Bảng Công Thức Đạo Hàm (Bỗ trợ toán đại học)
      • Nên thay điểm sàn bằng điểm liệt
      • Sinh viên “rớt tim” vì thang máy rơi tự do
      • Tín chính thức: Thi tốt nghiệp 4 môn, tự chọn môn ...
      • Thi tốt nghiệp không phải ba chung mà là... "một c...
      • Toán cao cấp 2 bài 5+6
      • Thầy Giáo Đánh Học Sinh
      • Trường dân lập không được tuyển sinh lớp 10!!
      • Toán cao cấp 2 bài 3+4
      • Nhiều Trường Đại Học sẽ dùng điểm thi tốt nghiệp đ...
      • Thi tốt nghiệp 4 môn là hợp lý
      • Toán Cao Cấp 2 bài 1+2
      • Tốt nghiệp THPT 2014 Ngoại ngữ bắt buộc hay tự chọn
  • ►  2013 (149)
    • ►  March (18)
    • ►  February (77)
    • ►  January (54)
  • ►  2012 (1677)
    • ►  December (92)
    • ►  November (9)
    • ►  October (45)
    • ►  September (150)
    • ►  August (102)
    • ►  July (382)
    • ►  June (285)
    • ►  May (148)
    • ►  April (168)
    • ►  March (116)
    • ►  February (110)
    • ►  January (70)
  • ►  2011 (757)
    • ►  December (457)
    • ►  June (4)
    • ►  May (1)
    • ►  April (68)
    • ►  March (142)
    • ►  February (84)
    • ►  January (1)

 
  • Blogger news

  • Blogroll

  • About

Copyright © Học Trực Tuyến | Powered by Blogger
Design by FThemes | Blogger Theme by Lasantha - Free Blogger Themes | NewBloggerThemes.com