PDA

View Full Version : Giúp mình về SQL (office)



toran0910
26-04-2009, 14:46
Đề:
Thực hiện các câu lệnh SQL sau:
Bảng 1 MON HOC: MSMH,TENMH,SOTINCHI,TINHCHAT
trong đó tương ứng là(mã số môn học, tên môn học, số tín chỉ,Tính chất)
Bảng 2 SINH VIEN: MSSV,HOTEN,NGAYSINH,LOP
BẢNG 3 DIEM :MSSV,MSHM,DIEMTHI
a)viết lệnh tạo 3 bảng trên,trong đó xác định rõ khóa và mối liên hệ giữa chúng.
b)Hãy liệt kê danh sách gồm: MSSV,HOTEN,LOP, VÀ ĐIỂM TRUNG BÌNH
c)hãy liệt kê danh sách gồm: MSSV. HOTEN,LOP,DIEMTHI của những sinh viên được xắp xếp thứ tự theo lớp(ABC), sau đó ưu tiên đến điểm thi (xắp xếp giảm dần)


Nếu ai giúp được xin hướng dẫn cụ thể bài trên giùm mình, cám ơn nhìu nhìu !

thomthom
27-04-2009, 10:10
Đề:
Thực hiện các câu lệnh SQL sau:
Bảng 1 MON HOC: MSMH,TENMH,SOTINCHI,TINHCHAT
trong đó tương ứng là(mã số môn học, tên môn học, số tín chỉ,Tính chất)
Bảng 2 SINH VIEN: MSSV,HOTEN,NGAYSINH,LOP
BẢNG 3 DIEM :MSSV,MSHM,DIEMTHI
a)viết lệnh tạo 3 bảng trên,trong đó xác định rõ khóa và mối liên hệ giữa chúng.
b)Hãy liệt kê danh sách gồm: MSSV,HOTEN,LOP, VÀ ĐIỂM TRUNG BÌNH
c)hãy liệt kê danh sách gồm: MSSV. HOTEN,LOP,DIEMTHI của những sinh viên được xắp xếp thứ tự theo lớp(ABC), sau đó ưu tiên đến điểm thi (xắp xếp giảm dần)


Nếu ai giúp được xin hướng dẫn cụ thể bài trên giùm mình, cám ơn nhìu nhìu !



Bạn thử cái này xem dùng đựoc ko nhé :
tạo bảng MonHoc : Create Table MonHoc ( MSMH char(10),TenMonHoc nvarchar(50),SoTinCHi char(10),TinhChat nvarchar(200),
Constrants Primary key pr_MS MSMH)

Tạo bảng Sinh Vien :
Create Table SinhVien (MSSV char(10),HoTen nvarchar(50), NgaySinh dateTime , lop char(10))

Tạo bảng Điểm
Create Table Diem (MSSV char(10), MSMH char(10),DiemThi int(4))

tạo query thì mình ko biết bạn tính điểm trung bình theo công thúc nào. và ở trên chỉ có tạo bảng chưa có khóa, khóa chình bạn dùng từ khóa Primary Key còn khóa tham chiếu là Referen Key. Mình nhớ cũng ko rõ lắm

toran0910
27-04-2009, 12:15
Cám ơn bạn ! tạo bảng quan trọng nhất là khóa mà ! lệnh tạo bảng thì dễ thui ! quan trọng là đặt khóa sao cho hợp lý ! mình chưa hiểu về đặt khóa sao cho chuẩn để tạo quan hệ ! dù sao cũng cám ơn bạn rất nhiều !
có ai giúp mình không? ! help me !

[=========> Bổ sung bài viết <=========]

diễn đàn tin học mà ko có ai giúp mình à ! nản !

linhberos
28-04-2009, 16:59
Bạn thử cái này xem.
Trong bảng Điểm thì nó có 2 khóa chính. Vì bảng SinhVien và MonHoc là quan hên n-n. Mỗi sinh viên học nhiêu môn và một môn có nhiều sinh viên theo học do vậy bảng DIEN là sẽ là bảng trung gian làm quan hệ giữa MonHoc và SinhVien do đó trong bảng DIEM phải có 2 khóa chính là các khóa chính của 2 bảng đó và tham chiếu đến khóa chính của 2 bảng đó.
create table MONHOC
(
MSMH nvarchar(5) primary key, not null
TENMH nvarchar(30),
SOTINCHI tinyint,
TINHCHAT nvarchar(50),
)
create table SINHVIEN
(
MSSV nvarchar(5) primary key, not null
HOTEN nvarchar(30),
NGAYSINH datetime,
LOP nvarchar(5)
)
create table DIEM
(
MSSV nvarchar(5),
MSMH nvarchar(5),
DIEMTHI tinyint,
Primary key (MSSV, MSMH)
Foreign key(MSSV) references SINHVIEN(MSSV),
Foreign key(MSMH) references MONHOC(MSHM)
)

hoanglinhqh
04-05-2009, 23:17
Đề:
Thực hiện các câu lệnh SQL sau:
Bảng 1 MON HOC: MSMH,TENMH,SOTINCHI,TINHCHAT
trong đó tương ứng là(mã số môn học, tên môn học, số tín chỉ,Tính chất)
Bảng 2 SINH VIEN: MSSV,HOTEN,NGAYSINH,LOP
BẢNG 3 DIEM :MSSV,MSHM,DIEMTHI
a)viết lệnh tạo 3 bảng trên,trong đó xác định rõ khóa và mối liên hệ giữa chúng.
b)Hãy liệt kê danh sách gồm: MSSV,HOTEN,LOP, VÀ ĐIỂM TRUNG BÌNH
c)hãy liệt kê danh sách gồm: MSSV. HOTEN,LOP,DIEMTHI của những sinh viên được xắp xếp thứ tự theo lớp(ABC), sau đó ưu tiên đến điểm thi (xắp xếp giảm dần)


Nếu ai giúp được xin hướng dẫn cụ thể bài trên giùm mình, cám ơn nhìu nhìu !

thế bạn đã học fox chưa vậy?
Mình xin đánh một đoạn code bạn xem thử
ý b
SELECT Sinhvien.mssv, Sinhvien.hoten, Sinhvien.lop,;
AVG(Diem.diemthi) as diemtrungbinh;
FROM qllh!sinhvien INNER JOIN qllh!diem ;
ON Sinhvien.mssv = Diem.mssv;
GROUP BY Sinhvien.mssv
ý c
SELECT Sinhvien.mssv, Sinhvien.hoten, Sinhvien.lop,;
AVG(Diem.diemthi) as diemtrungbinh;
FROM qllh!sinhvien INNER JOIN qllh!diem ;
ON Sinhvien.mssv = Diem.mssv;
ORDER BY Sinhvien.lop DESC
minh xin bổ sung
khóa chính là msmh và mssv