📜  DBMS 中的关系模式

📅  最后修改于: 2021-09-10 01:29:56             🧑  作者: Mango

关系模式定义了关系的设计和结构,就像它由关系名称、一组属性/字段名称/列名称组成。每个属性都有一个关联的域。

有一个叫 Geeks 的学生,她正在攻读 B.Tech,四年级,属于 IT 部门(第一部门),卷号为 1601347。她由 S Mohanty 女士监考。如果我们想使用数据库来表示这一点,我们必须创建一个学生表,其中包含姓名、性别、学位、年份、系、系号、卷号和监考员(顾问)作为属性。

student (rollNo, name, degree, year, sex, deptNo, advisor)

笔记 –
如果我们创建一个数据库,也可以记录其他学生的详细信息。

同样,我们有 IT 部门,部门 ID 为 1,Sujata Chakravarty 女士担任部门主管。我们可以拨打该部门的电话 0657 228662 。

这个部门和其他部门可以用部门表表示,有部门 ID、姓名、部门和电话作为属性。

department (deptId, name, hod, phone)

学生选择的课程具有课程 ID、课程名称、学分和部门编号。

course (coursId, ename, credits, deptNo)

教授会有一个员工 ID、姓名、性别、部门编号。和电话号码。

professor (empId, name, sex, startYear, deptNo, phone)

我们可以有另一个名为enrollment 的表,其中包含roll no、courseId、semem、year 和grade 作为属性。

enrollment (rollNo, coursId, sem, year, grade)

教学可以是另一个表,具有员工 ID、课程 ID、学期、年份和教室作为属性。

teaching (empId, coursed, sem, year, Classroom)

当我们开始课程时,有一些课程需要在开始当前课程之前完成另一门课程,因此这可以通过具有先决课程和课程ID属性的Prerequisite表来表示。

prerequisite (preReqCourse, courseId) 

它们之间的关系通过以下关系图中的箭头表示,

  1. 这表示学生表中的deptNo 与部门表中使用的deptId 相同。学生表中的 deptNo 是外键。它指的是部门表中的deptId。
  2. 这表示学生表中的顾问是外键。它指的是教授表中的 empId。
  3. 这表示部门表中的 hod 是外键。它指的是教授表中的 empId。
  4. 这表示课程表表中的deptNo 与部门表中使用的deptId 相同。学生表中的 deptNo 是外键。它指的是部门表中的deptId。
  5. 这表示注册表中的 rollNo 与 student 表中使用的 rollNo 相同。
  6. 这表示注册表中的 courseId 与课程表中使用的 courseId 相同。
  7. 这表示教学表中的 courseId 与课程表中使用的 courseId 相同。
  8. 这表示教学表中的 empId 与教授表中使用的 empId 相同。
  9. 这表示 preReqiusite 表中的 preReqCourse 是外键。它指的是课程表中的 courseId。
  10. 这表示学生表中的deptNo 与部门表中使用的deptId 相同。

笔记 –
教授表中的 startYear 与学生表中的年份相同