Cài đặt CSDL và xác định khóa chính, khóa ngoại trong dự án Quản lý sinh viên
Khóa Thực chiến SQL cùng Kteam - Dự án quản lý sinh viên
Danh sách bài học
Cài đặt CSDL và xác định khóa chính, khóa ngoại trong dự án Quản lý sinh viên
Dẫn nhập
Ở bài trước, chúng ta đã cùng nhau PHÂN TÍCH ĐẶC TẢ DỰ ÁN QUẢN LÝ SINH VIÊN . Qua đó, bạn đã có thể hiểu được thực tế cách phân tích đặc tả dự án đa chiều; truy ngược, chất vấn phân tích đặc tả; sơ lược cách vẽ ER tóm gọn khi nhận yêu cầu từ khách hàng.
Ok! đó là tổng quan về bài trước, ở bài này chúng ta sẽ tiếp tục cùng nhau thực chiến với dự án Quản lý sinh viên. Kteam sẽ hướng dẫn kỹ hơn về cách vẽ ER tóm gọn và cùng bạn Cài đặt CSDL và xác định khóa chính, khóa ngoại trong dự án Quản lý sinh viên
Chúng ta hãy cùng nhau teamwork, thảo luận và hỗ trợ nhau trong dự án này để giải quyết bài toán thực tế một cách hoàn chỉnh dưới sự hướng dẫn của anh Kim Long - founder Howkteam nhé!
Nhớ cài phần mềm nha!
Nội dung
Để theo dõi bài này một cách tốt nhất, bạn nên có kiến thức về các phần:
- SỬ DỤNG SQL SERVER
- PHÂN TÍCH THIẾT KẾ PHẦN MỀM
- Đã xem qua bài PHÂN TÍCH ĐẶC TẢ DỰ ÁN QUẢN LÝ SINH VIÊN
Trong bài này, Kteam sẽ cùng các bạn tìm hiểu các nội dung:
- Giải quyết câu hỏi của bài trước
- Hướng dẫn vẽ nhanh ERD (nên thực hiện trên giấy)
- Hướng dẫn cài đặt database trên Sql Server
- Cài đặt khóa chính, khóa ngoại
- Các phần chia sẻ kinh nghiệm thực tế
Phần mềm sử dụng
Trong khóa học này, chúng ta sẽ học và thực hành trực tiếp với SQL Server. Nếu bạn chưa cài đặt SQL thì có thể xem qua bài
Bạn cũng có thể sử dụng các phiên bản khác từ 2008 trở lên. (vì không có nhiều khác biệt)
Hướng dẫn vẽ nhanh ERD
Ở đầu bài, mình đã nói rõ hơn về cách phân tích ra lược đồ ER tóm gọn khi nhận yêu cầu từ khách hàng. Xuất phát từ kinh nghiệm cá nhân của mình và team trong quá trình làm việc thực tế, vì vậy có thể nó sẽ khác nhiều so với lược đồ ER mà bạn được học trên trường.
Bạn có thể xem qua đặc tả dự án và bảng phân tích đặc tả quản lý sinh viên trong bài PHÂN TÍCH ĐẶC TẢ DỰ ÁN QUẢN LÝ SINH VIÊN
Ghi chú: các đặc tả và tài liệu sử dụng trong khóa học được donate từ một member của Kteam có nguồn tham khảo tại tài liệu Cơ sở dữ liệu - Khoa toán tin / Đại học Đà Lạt do cô Tạ Thị Thu Phượng biên soạn.
Dưới đây là lược đồ ER mà mình đã hướng dẫn trong livestream. Bạn nên tự vẽ lại một cái từ phân tích đặc tả đã có ở bài trước nhé!
Cài đặt CSDL và xác định khóa trên SQL Server
Phần này khá đơn giản với các bạn đã học qua khóa SỬ DỤNG SQL SERVER. Tuy nhiên, nó cũng sẽ không khó nếu bạn tiếp cận bài này lần đầu tiên, chỉ cần để ý những lưu ý mình nhắc đến trong quá trình tạo database, tạo khóa...
create database Quan_Ly_Sinh_Vien
go
use Quan_Ly_Sinh_Vien
go
create table Khoa
(
Ma_Khoa varchar(10) primary key, -- 13248 KTCC126 123
Ten_Khoa nvarchar(100), -- thêm n để viết được unicode
Nam_Thanh_Lap int
)
go
create table Khoa_Hoc
(
Ma_Khoa_Hoc varchar(10) primary key,
Nam_Bat_Dau int,
Nam_Ket_Thuc int
)
create table Chuong_Trinh_Hoc
(
Ma_CT varchar(10) primary key,
Ten_CT nvarchar(100)
)
go
create table Lop
(
Ma_Lop varchar(10) primary key,
Ma_Khoa varchar(10) not null,
Ma_Khoa_Hoc varchar(10) not null,
Ma_CT varchar(10) not null,
STT int
foreign key(Ma_Khoa) references Khoa(Ma_Khoa),
foreign key(Ma_Khoa_Hoc) references Khoa_Hoc(Ma_Khoa_Hoc),
foreign key(Ma_CT) references Chuong_Trinh_Hoc(Ma_CT)
)
go
create table Sinh_Vien
(
MaSV varchar(10) primary key,
Ho_Ten nvarchar(100),
Nam_Sinh int,
Dan_Toc nvarchar(20),
Ma_Lop varchar(10) not null
foreign key(Ma_Lop) references Lop(Ma_Lop)
)
go
create table Mon_Hoc
(
MaMH varchar(10) primary key,
Ma_Khoa varchar(10) not null,
TenMH nvarchar(100)
foreign key(Ma_Khoa) references Khoa(Ma_Khoa)
)
go
create table Ket_Qua
(
MaSV varchar(10) not null,
MaMH varchar(10) not null,
Lan_Thi int not null,
Diem_Thi float
primary key(MaSV, MaMH, Lan_Thi),
foreign key(MaSV) references Sinh_Vien(MaSV),
foreign key(MaMH) references Mon_Hoc(MaMH)
)
go
create table Giang_Khoa
(
Ma_CT varchar(10) not null,
Ma_Khoa varchar(10) not null,
MaMH varchar(10) not null,
Nam_Hoc int not null,
Hoc_Ky int,
STLT int,
STTH int,
So_Tin_Chi int
primary key(Ma_CT, Ma_Khoa, MaMH,Nam_Hoc),
foreign key(Ma_CT) references Chuong_Trinh_Hoc(Ma_CT),
foreign key(Ma_Khoa) references Khoa(Ma_Khoa),
foreign key(MaMH) references Mon_Hoc(MaMH)
)
go
Kết
Trong bài này, chúng ta đã cùng nhau tìm hiểu cách cài đặt CSDL lên SQL của dự án quản lý sinh viên.
Ở bài sau, chúng ta sẽ NHẬP DỮ LIỆU VÀ THỰC HÀNH TRUY VẤN ĐƠN GIẢN VỚI CSDL DỰ ÁN QLSV TRÊN SQL SERVER.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Cài đặt CSDL và xác định khóa chính, khóa ngoại trong dự án Quản lý sinh viên dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!
Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Nội dung bài viết
Tác giả/Dịch giả
Nhà sáng lập Howkteam.com, KQuiz.vn & tác giả các khóa học C#, Auto, Unity3D, Python....
Với mong muốn mang đến kiến thức chất lượng, miễn phí cho mọi người, với tâm huyết phá bỏ rào cản kiến thức từ việc giáo dục thu phí. Tôi đã cùng đội ngũ Kteam đã lập nên trang website này để thế giới phẳng hơn.
Hãy cùng chúng tôi lan tỏa kiến thức đến cộng đồng!
Khóa học
Khóa Thực chiến SQL cùng Kteam - Dự án quản lý sinh viên
Trong các khóa học SỬ DỤNG SQL SERVER và PHÂN TÍCH THIẾT KẾ PHẦN MỀM, Kteam đã đề cập đến các kiến thức cần thiết để bạn có thể bắt đầu xây dựng một cơ sở dữ liệu với SQL server và truy vấn qua CSDL đó.
Ở combo Thực chiến SQL, chúng ta sẽ cùng nhau phân tích các CSDL đó từ đặc tả và ứng dụng các kiến thức đã học ở hai khóa trên vào việc giải quyết các yêu cầu thực tế của một CSDL. Trong bộ khóa học này các bạn sẽ đi qua các kiến thức từ cơ bản đến nâng cao qua các dự án khác nhau.
Nào! Chúng ta sẽ cùng nhau tìm hiểu dự án đầu tiên THỰC CHIẾN SQL CÙNG DỰ ÁN QUẢN LÝ SINH VIÊN
Đánh giá
Hay quá anh ơi. Em quen giọng anh rồi. Mong anh ra nhiều series thực chiến về phần mềm, sql, tool,...
ahiuhiu làm hồi k thấy dấu gạch chân đỏ.chuối cùng f5 phát đỏ nửa màn hình
Bảng MON_HOC đã có khóa ngoại MA_KHOA rồi vậy tại sao bảng GIANG_KHOA vừa có MA_MON_HOC lại vừa có MA_KHOA nữa. Có phải bị dư không.
website ngày càng đẹp <3
nay lại còn có thêm mục tin tức công nghệ nữa <3
Nói chung là ủng hộ và chúc Kteam cố lên
anh ơi ví dụ: giờ mình cần phải lưu lại lịch sử thay đổi của 1 đối tượng
ví dụ như: 1 người đăng ký tên chủ công ty là như thế này nhưng sau đó có người khác làm chủ công ty đó (sang tên hay gì gì đó) thì người ta đổi tên làm chủ của công ty với 1 tên mới thì làm sao mình lưu lại lịch sử để mai mốt có thể truy ra công ty đó lúc trước có người kia đứng tên rồi mới tới người này.? em muốn biết làm sao lưu lại lịch sử được mình phải thiết kế csdl như thế nào (anh nói chi tiết dùm em) hay có những link hướng dẫn làm giống vầy anh chỉ cho em được không? vì em đang làm niên luận
thanks a kim long nhiều nha, nhờ có a nên càng ngày e càng học được nhiều hơn hehe