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

Code: Sql 10/04/2021 07:47

/* 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 numeric(1),
        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 numeric (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 numeric(1),
        diemthi numeric (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  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)