Thực hành MySQL tạo CSDL quản lý điểm đơn giản

Code: Sql | Auth: 03cd82
/* 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)