1、數據庫建模設計
(1) 列出實體:
學生 | Student |
系 | Department |
專業 | Specialty |
班 | Class |
課程 | Course |
教師 | Teacher |
課程類別 | CourseCategory |
(2) 列出實體的聯繫、聯繫類型和多重性的值:
(3) 列出實體屬性和屬性的域:
Student表
列 | 類型 | 說明 |
---|---|---|
s_id | int | 學生編號,主鍵 |
s_name | nvarchar(10) | 學生姓名 |
s_sex | nchar(1) | 學生性別 |
s_address | nvarchar(50) | 家庭住址 |
s_credit | int | 學生學分 |
s_time | Data | 入學時間 |
Teacher表
列 | 類型 | 說明 |
---|---|---|
t_id | int | 教師編號,主鍵 |
t_name | nvarchar(10) | 教師姓名 |
t_sex | nchar(1) | 教師性別 |
Department表
列 | 類型 | 說明 |
---|---|---|
d_id | int | 系院編號,主鍵 |
d_name | nvarchar(10) | 系院名稱 |
Specialty表
列 | 類型 | 說明 |
---|---|---|
s_id | int | 專業編號,主鍵 |
s_name | nvarchar(10) | 專業名稱 |
Class表
列 | 類型 | 說明 |
---|---|---|
c_id | int | 班級編號,主鍵 |
c_name | nvarchar(10) | 班級名稱 |
Course表
列 | 類型 | 說明 |
---|---|---|
c_id | int | 課程編號,主鍵 |
c_name | nvarchar(10) | 課程名稱 |
c_emphasis | bit | 是否核心課程 |
c_type | nvarchar(10) | 課程類型 |
c_credit | int | 課程學分 |
c_theoryTime | int | 理論學時 |
c_practiceTime | int | 實踐學時 |
c_methods | nchar(2) | 考覈方式 |
CourseCategory表
列 | 類型 | 說明 |
---|---|---|
c_id | int | 課程類型編號,主鍵 |
c_name | nvarchar(10) | 課程類型名稱 |
c_property | nvarchar(10) | 課程類型分類名稱 |
c_credit | int | 課程類型學分 |
c_time | int | 課程類型學時 |
c_remarks | nvarchar(50) | 備註 |
Student {
s_id int primary key,
s_name nvarchar(10) not null,
s_sex nchar(1) not null check(s_sex=’男’ or s_sex=’女’),
s_address nvarchar(50),
s_credit int default(0),
s_time date default(getDate()),
}
Teacher {
t_id int primary key,
t_name nchar(10) not null,
t_sex nvarchar(1) not null check(s_sex=’男’ or s_sex=’女’),
}
Department {
d_id int primary key,
d_name nvarchar(10) not null
}
Specialty {
s_id int primary key,
s_name nvarchar(10) not null,
}
Class {
c_id int primary key,
c_name nvarchar(10) not null,
}
Course {
c_id int primary key,
c_name nvarchar(10) not null,
c_emphasis bit not null default(0),
c_type nvarchar(10) not null,
c_credit int not null,
c_theoryTime int,
c_methods nchar(2) not null check(s_methods = ’考試’ or s_methods = ‘考查’),
c_practiceTime int,
}
CourseCategory {
c_id int primary key,
c_name nvarchar(10) not null,
c_property nvarchar(10) not null,
c_credit int not null,
c_time int,
c_remarks nvarchar(50)
}
(4) 繪出E-R圖:
2、向老師覈實的問題:
(1) 一種課程是隻有一個教師還是多個教師?
答:一種課程有多個教師。
(2) 某一門課程是否一定有學生?
答:課程剛開設時沒有學生,或者選修課程沒有學生選報。
(3) 老師可以沒課嗎?
答:老師可以沒課。
寫於2013-04-09 23:30