Tải bản đầy đủ (.docx) (40 trang)

Thiết kế CSDL về Tiny college và Transco

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 40 trang )

TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN HỆ CƠ SỞ DỮ LIỆU

Đề tài:

THIẾT KẾ CƠ SỞ DỮ LIỆU
VỀ TINY COLLEGE VÀ TRANSCO

Giảng viên hướng dẫn:

Đào Thị Ngọc Hân

STT nhóm: 2
Sinh viên thực hiện:

Phạm Huy Hưng

Hà Nội 02-2023
Đề tài:

THIẾT KẾ CƠ SỞ DỮ LIỆU
VỀ TINY COLLEGE VÀ TRANSCO


Giảng viên hướng dẫn: Đào Thị Ngọc Hân

Mục lục
Contents
Mục lục.............................................................................................................................. 2


Danh mục hình vẽ............................................................................................................3
A: Đề Tài Tiny College....................................................................................................5
1. Mơ tả hệ thống..........................................................................................................5
2. Các thực thể và mối quan hệ....................................................................................5
2.1 Quy tắc nghiệp vụ..................................................................................................5
2.2 Các thực thể........................................................................................................... 6
2.3 Các mối quan hệ giữa các thực thể.......................................................................9
2.4 Xác định các khóa cho thực thể...........................................................................12
2.5 Sơ đồ ERD...........................................................................................................13
3. Cấu trúc các bảng...................................................................................................15
4. Sơ đồ quan hệ..........................................................................................................20
5. Danh sách truy vấn cơ bản.....................................................................................20
B: Đề Tài TransCo.........................................................................................................25
1. Mô tả hệ thống........................................................................................................25
2. Các thực thể và mối quan hệ..................................................................................26
3. Cấu trúc các bảng...................................................................................................32
4. Sơ đồ quan hệ..........................................................................................................37
5. Danh sách truy vấn cơ bản.....................................................................................37
C: Tài Liệu Tham Khảo.................................................................................................39


Danh mục hình vẽ
Hình A.1: sơ đồ ERD dạng Crow’foot của Tiny College
Hình A.2: sơ đồ ERD dạng Chen của Tiny College
Hình A.3: cấu trúc bảng của SCHOOL
Hình A.4: cấu trúc bảng của DEPARTMENT
Hình A.5: cấu trúc bảng của PROFESSOR
Hình A.6: cấu trúc bảng của COURSE
Hình A.7: cấu trúc bảng của STUDENT
Hình A.8: cấu trúc bảng của SEMESTER

Hình A.9: cấu trúc bảng của ROOM
Hình A.10: cấu trúc bảng của BUILDING
Hình A.11: sơ đồ quan hệ của Tiny College
Hình B.1: sơ đồ Crow’foot của BASE và TRUCK
Hình B.2: sơ đồ Crow’foot của BASE và BILL
Hình B.3: sơ đồ Crow’foot của TRUCK và DRIVER.
Hình B.4: sơ đồ Crow’foot của TRUCK, REPORT và INCIDENT.
Hình B.5: sơ đồ Crow’foot của RATE, BILL và CUSTOMER
Hình B.6: sơ đồ Crow’foot của TRUCL, BILL và TRUCK_BILL


Hình B.7: sơ đồ ERD dạng Crow’foot của TransCo
Hình B.8: sơ đồ ERD dạng Chen của TransCo
Hình B.9: cấu trúc bảng BASE
Hình B.10: cấu trúc bảng TRUCK
Hình B.11: cấu trúc bảng TYPE
Hình B.12: cấu trúc bảng DRIVER
Hình B.13: cấu trúc bảng INCIDENT
Hình B.14: cấu trúc bảng REPORT
Hình B.15: cấu trúc bảng RATE
Hình B.16: cấu trúc bảng CUSTOMER
Hình B.17: cấu trúc bảng BILL
Hình B.18: cấu trúc bảng TRUCK_BILL
Hình B.19: sơ đồ quan hệ của TransCo


A: Đề Tài Tiny College
1. Mô tả hệ thống
Để quản lý một trường cao đẳng một cách hiệu quả ta cần xây dựng một hệ thống lưu trữ
và quản lý thông tin của trường.

Thông tin cơ bản cần lưu trữ
 Lưu trữ thông tin về từng khoa bộ, từng bộ môn
 Lưu thông tin về giảng viên và sinh viên trong trường
 Lưu trữ thơng các khóa học, lớp học
Khai thác dữ liệu cơ bản
 Truy xuất thông tin của các đối tượng được lưu trữ
 Thống kê điểm của sinh viên
 Truy xuất thông tin từng thể hiện của đối tượng được lưu trữ
2. Các thực thể và mối quan hệ
2.1 Quy tắc nghiệp vụ
Tiny College (TC) được chia thành nhiều trường: kinh doanh nghệ thuật và khoa học,
giáo dục, và khoa học ứng dụng.
Mỗi trường được quản lý bởi một giáo sư
Một trường chỉ có duy nhất một giáo sư quản lý, và một giáo sư không cần phải là quản
lý của bất cứ trường nào. Do đó liên kết 1:1 tồn tại giữa giáo sư và trường
Mỗi trường bao gồn một vài khoa. Mặt khác, mỗi khoa chỉ thuộc về một trường duy nhất
Mỗi bộ khoa có thể cung cấp nhiều khóa học, cũng có thể khơng cung cấp khóa học nào
như là một khoa chỉ dành cho nghiên cứu nó sẽ khơng cung cấp khóa học nào; do đó thực
thể COURSE là tùy ý với thực thể DEPARTMENT
Lớp học là một phần của khóa học. Nghĩa là một bộ mơn có thể cung cấp một vài lớp học
của cùng khóa học. Mỗi lớp học là được dạy bởi một giảng viên tại thời gian và địa điểm
được cho


Mỗi lớp là được tạo trong một học kỳ. Học kỳ xác định năm và thời hạn lớp sẽ được cung
cấp. Thời gian này có thể khác với thời gian thực tế sinh viên thực sự tham gia vào lớp
học
Mỗi bộ mơn phải có một hoặc nhiều giáo sư. Duy nhất một giáo sư là quản lý khoa, và
khơng có giáo sư nào được yêu cầu chấp nhận vị trí chủ tọa
Mỗi giáo sư có thể dạy tối đa bốn lớp; mỗi lớp là một phần của khóa học. Một giáo sư có

thể có hợp đồng nghiên cứu và khơng dạy lớp nào
Một sinh viên có thể tham gia một vài lớp học nhưng lớp phải trong giai đoạn đăng ký.
Nếu một lớp tồn tại nhưng khơng có sinh viên nào tham gia vào, nghĩa là thực thể
CLASS không xuất hiện trong bảng ENROLL
Mỗi khoa có một vài hoặc nhiều sinh viên, môn học chuyên ngành của sinh viên là được
cung cấp bởi khoa. Tuy nhiên mỗi sinh viên chỉ có một chuyên ngành do đó được liên kết
với một bộ mơn duy nhất
Mỗi sinh viên có một người hướng dẫn trong bộ mơn của sinh viên đó; mỗi người hướng
dẫn hướng dẫn một vài sinh viên. Người hướng dẫn cũng là giáo sư nhưng không phải tất
cả giáo sư đều hướng dẫn sinh viên
Lớp học là được dạy trong phòng học, mỗi phòng nằm trong một tòa nhà. Một tịa nhà có
thể chứa nhiều phịng học.
2.2 Các thực thể
● SCHOOL: Mỗi trường được quản lý bởi một mã trường, một tên trường và được
quản lý bởi một giáo sư được xác định bằng mã giáo sư. Chi tiết các thuộc tính:
o SCHOOL_CODE: mã trường
o SCHOOL_NAME: tên trường
o PROF_NUM: mã giáo sư quản lý trường
● PROFESSOR: Mỗi giáo sư thì được quản lý bởi mã giáo sư, chuyên môn, thứ
hạng, họ tên đầy đủ bao gồm tên, họ, và tên đệm, email. Chi tiết các thuộc tính:
o PROF_CODE: mã giáo sư
o PROF_SPECIALTY: mô tả chuyên môn của giáo sư
o PROF_RANK: mô tả thứ hạng của giáo sư
o PROF_LNAME: họ của các giáo sư
o PROF_FNAME: tên của các giáo sư


o PROF_INITIAL: tên đệm của các giáo sư (thường là một chữ cái đầu tiên
trong tên đệm)
o PROF_EMAIL : email liên hệ

● DEPARTMENT: Mỗi trường thì chia ra thành các khoa, mỗi khoa được quản lý
bởi mã khoa, tên khoa và mỗi khoa sẽ thuộc vào một trường và được quản lý bởi
một giáo sư. Ngoài ra mỗi giáo sư thì sẽ thuộc vào một khoa nhất định.
o DEPT_CODE: mã khoa
o DEPT_NAME: tên khoa
o SCHOOL_CODE: tên trường mà khoa đó trực thuộc
o PROF_NUM: mã giáo sư quản lý khoa
● COURSE: Các khóa học được quản lý bởi mã khóa học, tiêu đề khóa học, mơ tả
khóa học, trạng thái cơng nhận của khóa học. Mỗi khóa học thì được tạo ra từ các
khoa. Chi tiết mơ tả các thuộc tính của đối tượng:
o CRS_CODE: mã khóa học
o DEPT_CODE: mã khoa tổ chức khóa học
o CRS_TITLE: tiêu đề khóa học (có thể hiểu là tên khóa học)
o CRS_DESCRIPTION: mơ tả khóa học
o CRS_CREDIT: số tín chỉ được cơng nhận của khóa học sau khi hồn thành
khóa học (hiểu đơn giản là số tín chỉ).
● SEMESTER: Mỗi học kỳ thì được quản lý bởi mã học kỳ, năm diễn ra học kì,
thời hạn của học kì , ngày bắt đầu và kết thúc của học kì. Chi tiết về các thuộc tính
của đối tượng được mô tả như sau:
o SEMESTER_CODE: mã học kỳ
o SEMESTER_YEAR: năm học kì đó diễn ra
o SEMESTER_TERM: khoảng thời gian mà học kỳ đó diễn ra
o SEMESTER_START_DATE: ngày bắt đầu
o SEMESTER_END_DATE: ngày kết thúc
● CLASS: Các lớp thì được quản lý bởi mã lớp, thời gian diễn ra của lớp học, mã
khóa học của lớp đó, mã giáo sư phụ trách dạy, lớp học thì được tổ chức dạy tại
một phịng học, lớp học đó thì được tổ chức tại một học kỳ nhất định. Các sinh
viên thì có thể đăng kí vào một lớp được tổ chức bởi một khoa, trạng thái đăng ký
được quản lý bằng ngày đăng ký và khóa đăng kí , ngồi ra để ghi nhận xem sinh



viên nào đăng ký ta có thêm mã sinh viên để quản lý và mã lớp học. Chi tiết các
mô tả về thuộc tính của đối tượng được trình bày dưới đây:
o CLASS_CODE: mã lớp học
o CLASS_SECTION: số sinh viên tối đa
o CLASS_TIME: thời gian mà lớp học diễn ra
o CRS_CODE: mã khóa học mà lớp học đó được tổ chức
o PROF_NUM: mã giáo sư phụ trách dạy lớp đó
o ROOM_CODE: mã phòng học tổ chức lớp học
o SEMESTER_CODE: mã học kỳ mà lớp học đó được tổ chức
● ROOM: Các lớp học thì được tổ chức dạy tại một phòng học , thời gian diễn ra
của lớp học và để khơng có trường hợp nhiều hơn một lớp học diễn ra trong một
phòng học tại cùng một thời điểm, mã khóa học của lớp đó, mã giáo sư phụ trách
dạy, lớp học thì được tổ chức dạy tại một phịng học , lớp học đó thì được tổ chức
tại một học kỳ nhất định. Chi tiết các mô tả về thuộc tính được trình bày dưới đây:
o ROOM_CODE: mã phòng học
o ROOM_TYPE: loại phòng học
o BLDG_CODE: mã tòa nhà mà phịng học đó thuộc về.
● STUDENT: Các sinh viên thì được quản lý bởi mã sinh viên, tên đầy đủ của sinh
viên bao gồm tên, họ, và tên đệm, email của sinh viên mỗi sinh viên thì chỉ thuộc
một khoa Mỗi sinh viên thì có một cố vấn là một giáo sư và được xác định bằng
mã của giáo sư đó. Chi tiết các mơ tả về thuộc tính được trình bày dưới đây:
o STU_NUM: mã sinh viên
o DEPT_CODE: mã khoa của sinh viên
o STU_LNAME, STU_FNAME,STU_INITIAL: lần lượt là các mô tả về tên
của sinh viên.
o STU_EMAIL: email liên hệ của sinh viên
o PROF_NUM: mã giáo sư là cố vấn học tập của sinh viên
● BUILD: các lớp được tổ chức dạy ở các phòng, các phòng học được quản lý bằng
mã phòng, loại phòng, và mã tòa nhà; mỗi phịng thì sẽ thuộc vào một tịa nhà và

các tòa nhà được quản lý bằng mã tòa nhà, tên tịa nhà, địa điểm của tịa nhà. Chi
tiết về mơ tả của các thực thể được trình bày như sau:
o BLDG_CODE: mã tòa nhà


o BLDG_NAME: tên tòa nhà
o BLDG_LOCATION: địa chỉ của tòa nhà
2.3 Các mối quan hệ giữa các thực thể
Ta có các mối quan hệ, các thực thể tham gia và mơ tả chi tiết được trình bày lần lượt
dưới đây:
Tên quan hệ: is dean of (là hiệu trưởng của)
● Các thực thể tham gia: PROFESSOR và SCHOOL
● Mô tả chi tiết: Mỗi trường thì được quản lý bởi một giáo sư, và có nhiều giáo sư
quản lý các trường, nhưng một giáo sư thì khơng bắt buộc phải quản lý một trường
nào cả. Vì vậy đây là mối quan hệ tùy chọn PROFESSOR(1,1) : SCHOOL (0,1).
Tên quan hệ: operates (vận hành)
● Các thực thể tham gia: SCHOOL và DEPARTMENT
● Mô tả chi tiết: Mỗi trường chia ra làm các khoa riêng biệt, một trường có thể chỉ là
một khoa và cũng có thể là nhiều khoa mà ta chưa xác định, một khoa chỉ có thể
thuộc vào một trường xác định. Vì vậy mối quan hệ giữa hai thực thể là
SCHOOL(1:1) : DEPARTMENT (1,*)
Tên quan hệ: chairs (quản lý, chủ trì)
● Các thực thể tham gia: PROFESSOR và DEPARTMENT
● Mơ tả chi tiết: Mỗi khoa chỉ có một giáo sư được chỉ định là trưởng khoa,một giáo
sư không bắt buộc phải là trưởng khoa của bất kì khoa nào, vì vậy đây là mối quan
hệ tùy chọn PROFESSOR (1,1) : DEPARTMENT (0,1).
Tên quan hệ: employs (là nhân viên)
● Các thực thể tham gia: PROFESSOR và DEPARTMENT
● Mô tả chi tiết:Mỗi giáo sư thì chỉ thuộc vào một khoa, một khoa có nhiều giáo sư.
Tên quan hệ: offers ( cung cấp )

● Các thực thể tham gia: DEPARTMENT và COURSE
● Mô tả chi tiết: Mỗi khoa cung cấp các khóa học, mỗi khóa học thì được tổ chức
bởi một khoa duy nhất, có một ngoại lệ là một số khóa học có thể được chỉ định là
“chỉ dành cho nghiên cứu” thì khóa học đó sẽ khơng được cung cấp, vì vậy đây là
mối quan hệ tùy chọn DEPARTMENT (1:1) : COURSE(0,*).
Tên quan hệ: generates ( tạo ra )
● Các thực thể tham gia: CLASS và COURSE


● Mơ tả chi tiết: Các khóa học thì tạo ra các lớp học, một khóa học có thể có nhiều
lớp học nhưng một lớp học chỉ thuộc duy nhất một khóa học, ngồi ra một khóa
học có thể được tạo ra và nằm trong danh mục khóa học của Tiny College nhưng
trong một học kỳ nhất định, khóa học đó khơng được tổ chức, do đó các lớp học
cũng sẽ khơng được tổ chức. Vì vậy quan hệ giữa hai thực thể là CLASS (0,*):
COURSE(1,1).
Tên quan hệ: includes ( bao gồm )
● Các thực thể tham gia: SEMESTER và CLASS
● Mơ tả chi tiết: Một học kì nhất định sẽ có nhiều lớp học và mỗi lớp học được tổ
chức trong một học kì nhất định, ngồi ra một học kì có thể khơng có bất kì lớp
học nào (ví dụ như kì nghỉ hè). Vì vậy đây là mối quan hệ tùy chọn
SEMESTER(1,1) : CLASS (0,*).
Tên quan hệ: teaches ( giảng dạy )
● Các thực thể tham gia: PROFESSOR và CLASS
● Mô tả chi tiết: Mỗi giáo sư có thể dạy tối đa bốn lớp. Một giáo sư cũng có thể có
hợp đồng nghiên cứu và khơng dạy lớp nào cả. Vậy nên quan hệ giữa hai thực thể
là tùy chọn PROFESSOR (1,1) : CLASS(0,*).
Tên quan hệ: enrolls
 Các thực thể tham gia: STUDENT và CLASS
 Mô tả chi tiết: một sinh viên có thể đăng kí nhiều lớp học(tối đa là 6) và các lớp
học đó là khác nhau (không thể đăng ký một lớp học 2 lần trong một học kỳ nhất

định), một lớp học có thể được đăng ký bởi nhiều sinh viên và tối đa là 35, tuy
nhiên nếu một lớp học khơng có sinh viên nào đăng ký khi đã hết thời hạn đăng ký
thì lớp học đó sẽ bị hủy bỏ và không được đặt trong trạng thái “enroll”. Quan hệ
giữa hai thực thể STUDENT và CLASS là M:N và chúng ta có thể cần phải biểu
diễn bằng hai quan hệ 1:M thông qua một thực thể trung gian là ENROLL, thực
thể ENROLL là thực thể yếu vì nó có khóa chính được tạo thành từ sự kết hợp
giữa hai khóa chính của hai thực thể STUDENT và CLASS. Chi tiết về mối quan
hệ của STUDENT và CLASS với ENROLL sẽ được trình bày ở hai quan hệ sau:
Tên quan hệ: is written in
● Các thực thể tham gia: STUDENT và ENROLL
● Mơ tả chi tiết: một sinh viên có thể đăng kí nhiều lớp học và do đó thực thể
ENROLL có thể ghi nhận một sinh viên nhiều lần, lưu ý rằng nếu một sinh viên đó


đăng ký nhiều lớp học thì học sinh đó chỉ có thể học lớp đó duy nhất một lần trong
một học kỳ nhất định. Ngồi ra một sinh viên có thể khơng đăng ký một lớp học
nào đó (có thể lớp học đó được tổ chức nhưng viên đã học và đạt khóa học đó), lúc
này trạng thái ENROLL sẽ không xuất hiện sinh viên và lớp tương ứng. Do đó ta
có quan hệ STUDENT(1,1) : ENROLL(0,*).
Tên quan hệ: is found in
● Các thực thể tham gia: ENROLL và CLASS
● Mơ tả chi tiết: Một lớp học có thể xuất hiện nhiều lần trong ENROLL và có thể
nếu hết khoảng thời gian đăng kí, lớp học đó khơng có sinh viên nào đăng kí vào
thì nó sẽ bị hủy, lúc này ENROLL sẽ khơng ghi nhận lớp học đó vào. Ta có quan
hệ CLASS(1,1) : ENROLL(0,*).
Tên quan hệ: has
● Các thực thể tham gia: DEPARTMENT và STUDENT
● Mô tả chi tiết: Mỗi khoa có một hoặc nhiều sinh viên theo chuyên ngành của khoa
đó. Tuy nhiên, mỗi sinh viên chỉ có một chuyên ngành duy nhất và do đó có liên
quan với một khoa duy nhất. Tuy nhiên, trong môi trường Tiny College có thể ít

nhất là trong một học kì đối với một sinh viên khơng chọn theo một chun ngành
chính nào đó. Một sinh viên như vậy sẽ khơng được liên kết với một khoa. Do đó,
quan hệ giữa hai thực thể là tùy chọn DEPARTMENT(0,1) : STUDENT(0,*).
Tên quan hệ: advises
 Các thực thể tham gia: PROFESSOR và STUDENT
 Mơ tả chi tiết: Mỗi sinh viên có một cố vấn trong khoa của mình; mỗi cố vấn tư
vấn cho một số sinh viên. Một cố vấn cũng là một giáo sư, mỗi giáo sư có thể tư
vấn cho nhiều sinh viên, nhưng không phải tất cả các giáo sư tư vấn cho sinh viên ,
vì vậy quan hệ là tùy chọn giữa hai thực thể PROFESSOR(1,1) : STUDENT(0,*).
Tên quan hệ: is used by
 Các thực thể tham gia: CLASS và ROOM
 Mô tả chi tiết: mỗi lớp học thì được tổ chức và dạy ở một phịng nhất định, một
phịng có thể tổ chức nhiều lớp học trong các khoảng thời gian khác nhau trong
ngày, ngoài ra một lớp học có thể khơng được tổ chức trong một phịng học nào cả
(có thể là thực hành). Do đó ta có quan hệ giữa hai thực thể CLASS (0,*) :
ROOM(1,1).
Tên quan hệ: contains


 Các thực thể tham gia : BUILDING và ROOM
 Mơ tả chi tiết : Một tịa nhà có chứa một hoặc nhiều phòng học mà một phòng học
chỉ thuộc một tịa nhà nhất định, ngồi ra một tịa nhà có thể khơng chứa phịng
nào được sử dụng để dạy học. Do đó ta có quan hệ giữa hai thực thể
BUILDING(1,1): ROOM(0,*).
Các Mối Quan Hệ Cần Lưu Trữ:
Entity
Relationship
Connectivity
Entity
SCHOOL

operates
1:M
DEPARTMENT
DEPARTMENT
has
1:M
STUDENT
DEPARTMENT
employs
1:M
PROFESSOR
DEPARTMENT
offers
1:M
COURSE
COURSE
generates
1:M
CLASS
SEMESTER
includes
1:M
CLASS
PROFESSOR
is dean of
1:1
SCHOOL
PROFESSOR
chairs
1:1

DEPARTMENT
PROFESSOR
teaches
1:M
CLASS
PROFESSOR
advises
1:M
STUDENT
STUDENT
enrolls in
M:N
CLASS
BUILDING
contains
1:M
ROOM
ROOM
is used for
1:M
CLASS
Note: ENROLL is the composite entity that implements the M:N relationship
“STUDENT enrolls in CLASS.”
2.4 Xác định các khóa cho thực thể
Bảng các khóa chính, khóa phụ
Thực thể

Khóa chính (PK)

Khóa phụ (FK)


PROFESSOR

PRO_NUM

DEPT_CODE

SCHOOL

SCHOOL_CODE

PROF_NUM

SEMESTER

SEMESTER _CODE

DEPARTMENT

DEPT_CODE

SCHOOL_NAME
PROF_NUM


COURSE

CRS_CODE

DEPT_CODE

CRS_CODE

CLASS

CLASS_CODE

PROF_NUM
ROOM_CODE
SEMESTER_CODE

CLASS_CODE

CLASS_CODE

STU_NUM

STU_NUM

ROOM

ROOM_CODE

BLDG_CODE

STUDENT

STU_NUM

ENROLL


DEPT_CODE
PROF_NUM

BUILDING

BLDG_CODE

2.5 Sơ đồ ERD
Hình A.1: sơ đồ ERD dạng Crow’foot của Tiny College



Hình A.2: sơ đồ ERD dạng Chen của Tiny College

3. Cấu trúc các bảng

Data dictionary
DATA DICTIONARY
TABLE NAME

ATTRIBUTE NAME

CONTNETS

TYPE

FORMAT

RANG
E


REQUIRE
D

PK
OR

FK
REFERENCED


PROFESSOR

PROF_NUM

NVARCHAR(100
)
NVARCHAR(10)

Xxxx

Professor
last name
Professor
first name
Professor
email
School
code


NVARCHAR(100
)
NVARCHAR(100
)
NVARCHAR(100
)
NVARCHAR(10)

Xxxxx

Y

Xxxxx

Y


x
99999

Y

School
name
Professor
account
num
Departmen
t code


NVARVHAR(100
)
NVARCHAR(10)

Xxxxx

NVARCHAR(10)

99999

Departmen
t name
School
code

NVARCHAR(100
)
NVARCHAR(10)

Xxxxx

Professor
account
num
Semester
code

NVARCHAR(10)

99999


NVARCHAR(10)

99999

Semester
Year
Semester
term
Semester
start date
Semester
end date
Course
code

Date

dd-mmm-yyyy

NVARCHAR(10)

99999

Date

dd-mmm-yyyy

Date


dd-mmm-yyyy

NVARCHAR(10)

99999

DEPT_CODE

Departmen
t code

NVARCHAR(10)

99999

CRS_TITLE

NVARCHAR(100
)
NVARCHAR(100
)
FLOAT

Xxxxx

Y

Xxxxx

Y


CRS_CREDIT

Course
name
Course
information
Tuition fee

CLASS_CODE

Class code

NVARCHAR(10)

99999

CLASS_SECTION

Section

NVARCHAR(100
)

Xxxxx

PROF_EMAIL
SCHOOL_CODE

SCHOOL_NAME

PROF_NUM

DEPT_CODE

DEPT_NAME
SCHOOL_CODE

PROF_NUM

SEMESTER_CODE

SEMESTER_YEAR
SEMESTER_TERM
SEMESTER_START_DAT
E
SEMESTER_END_DATE
CRS_CODE

CRS_DESCRIPTION

CLASS

DEPARTMEN
T

Chuyên
môn
Professor
rank


PROF_FNAME

COURSE

FK

99999

PROF_LNAME

SEMESTER

Y

NVARCHAR(10)

PROF_RANK

DEPARTMEN
T

TABLE

99999

PROF_SPECIALTY

SCHOOL

FK

PK

NVARCHAR(10)

DEPT_CODE

99999

99999

99999

10000
99999
10000
99999

Y

Professor
account
num
Departmen
t code

Y
00001
10000

10000

99999

Y

Y

PK

Y
10000
99999
10000
99999

Y

FK

Y

PK

PROFESSOR

Y
10000
99999
10000
99999
10000

99999

Y

FK

SCHOOL

Y

FK

PROFESSOR

Y

PK

Y

10000
99999
10000
99999

Y

PK

Y


FK

9,999,999.99
10000
99999

Y

Y

PK

DEPARTMEN
T


CLASS_TIME

TIME

CRS_CODE

Course
code

NVARCHAR(10)

99999


PROF_NUM

Professor
account
num
Room code

NVARCHAR(10)

99999

NVARCHAR(10)

99999

SEMESTER_CODE

Semester
code

NVARCHAR(10)

99999

CLASS_CODE

Class code

NVARCHAR(10)


99999

STU_NUM

Student
code

NVARCHAR(10)

99999

ENROLL_DATE

Enroll date

DATE

STU_NUM

Student
num

NVARCHAR(10)

99999

DEPT_CODE

Departmen
t code


NVARCHAR(10)

99999

STU_LNAME

NVARCHAR(100
)
NVARCHAR(100
)
NVARCHAR(100
)
FLOAT

Xxxxx

Y

Xxxxx

Y


x

Y

NVARCHAR(10)


99999

ROOM_CODE

Student
last name
Student
first name
Student
email
So du chua
dong trong
tai khoan
Professor
account
num
Room code

NVARCHAR(10)

99999

ROOM_TYPE

Room Type

Xxxxx

BLDG_CODE


Building
code

NVARCHAR(100
)
NVARCHAR(10)

BLDG_CODE

Building
code

NVARCHAR(10)

99999

BLDG_NAME

Building
name
Building
Location

NVARCHAR(100
)
NVARCHAR(100
)

Xxxxx


Y

Xxxxx

Y

ROOM_CODE

ENROLL

STUDENT

STU_FNAME
STU_EMAIL
STU_BALANCE

PROF_NUM

ROOM

BUILDING

BLDG_LOCATION

Hình A.3: cấu trúc bảng của SCHOOL

99999

10000
99999

10000
99999
10000
99999
10000
99999
10000
99999
10000
99999

Y

FK

COURSE

Y

FK

PROFESSOR

Y

FK

ROOM

Y


FK

SEMESTER

Y

PK
,
FK
PK
,
FK

CLASS

10000
99999
10000
99999

Y

PK

Y

FK

DEPARTMEN

T

Y

FK

PROFESSOR

Y

PK

10000
99999
10000
99999

Y

STUDENT

Y
10000
99999
10000
99999

Y

FK


Y

PK

BUILDING


Hình A.4: cấu trúc bảng của DEPARTMENT

Hình A.5: cấu trúc bảng của PROFESSOR

Hình A.6: cấu trúc bảng của COURSE


Hình A.7: cấu trúc bảng của STUDENT

Hình A.8: cấu trúc bảng của SEMESTER

Hình A.9: cấu trúc bảng của ROOM

Hình A.10: cấu trúc bảng của BUILDING


4. Sơ đồ quan hệ
Hình A.11: sơ đồ quan hệ của Tiny College

5. Danh sách truy vấn cơ bản
5.1 Xuất ra mã giáo viên + tên + tên bộ môn giáo viên đó dạy
SELECT GV.PROF_NUM, GV.PROF_FNAME, GV.PROF_LNAME, BM.CRS_TITLE

FROM DBO.PROFESSOR AS GV, DBO.COURSE AS BM
WHERE GV.DEFT_CODE = BM.DEPT_CODE



×