/* Yêu cầu Tạo CSDL quản lý điểm đặt tên: quanlydiem có các bảng như sau
Lop (malop,tenlop)
Sinhvien(masv,hoten,ngaysinh,quequan,gioitinh,malop)
Monhoc(mamh,tenmh,sotiet)
Ketqua(masv,mamh,lanthi,diemthi)
//==================================
*/
-- 1. Lệnh tạo CSDL:
CREATE DATABASE quanlydiem;
-- 2. Lệnh chọn CSDL để làm việc:
USE quanlydiem;
-- 3. Lệnh tạo bảng Lop:
CREATE TABLE lop (
malop char(10) NOT NULL primary key,
tenlop varchar(30) not null
)
-- 4. Lệnh tạo bảng sinh viên:
CREATE TABLE sinhvien(
masv char(7) primary key not null,
hoten varchar(30) not null,
ngaysinh date ,
quequan varchar(100),
gioitinh tinyint (1) unsigned,
malop char(10)
)
-- 5. Lệnh tạo bảng môn học
CREATE TABLE monhoc(
mamh char(10) not null primary key,
tenmh varchar(30) not null,
sotiet tinyint (2)
)
-- 6. Lệnh tạo bảng kết quả:
CREATE TABLE ketqua (
masv char(7) not null,
mamh char(10) not null,
lanthi tinyint(1),
diemthi float (2,1),
primary key (masv, mamh)
)
Chú y: Với các bảng có nhiều hơn 1 cột trong khóa chính thì khi viết các cột khóa sẽ không thêm primary key mà để đến cuối cùng mới định nghĩa primary key (xem trong bảng kết quả)
-- LỆNH CHỈNH SỬA BẢNG
-- sửa bảng lớp, thêm cột Phòng học
ALTER TABLE lop ADD COLUMN phonghoc char(10)
-- xóa cột vừa thêm
ALTER TABLE lop DROP COLUMN phonghoc;
-- Xóa bảng: DROP TABLE lop
-- tạo quan hệ foreign key cho bảng sinh viên với lớp. Vì bên Lớp là bên 1 nên sửa bảng SInh viên.
ALTER TABLE sinhvien
ADD CONSTRAINT fk_sinhvien_lop
FOREIGN KEY(malop)
REFERENCES lop (malop)