SQL Server 数据库原理 实验六 简单数据库应用系统设计

如果你对其他数据库原理的实验感兴趣,请考虑阅读我的专栏

SQL Server实验系列

实验六 简单数据库应用系统设计与实现

实验目的:
(1)理解并能运用数据库设计的常见步骤来设计满足给定需求的概念模型(ER模型)和关系数据模型;
(2)能结合有关的指南对模型进行优化处理。
(3) 能够在某主流DBMS上创建数据库模式、所建数据库模式满足用户的基本业务需求;

实验内容:
给出如下选题,每组同学任选一个选题进行相应的设计与实现。具体选题如下:
(1)某汽车维修部门的维修工单如下表所示:
在这里插入图片描述
(2)某科技管理部门欲开发一个科研项目申报与评审系统,涉及的部分信息如下:
项目:项目编号,项目名称,申请者,期限,金额,项目描述。
项目类别:类别编号,类别名称。
专家:专家编号,姓名,职称,单位。
其中:根据项目类别,每个申报项目需由对应领域的多位专家进行评审;每位专家只参与一类项目的评审,评审时要记录评审日期和评审意见。
(3)某学生宿舍管理系统,涉及的部分信息如下:
学生:学号,姓名,性别,专业,班级。
寝室:寝室号,房间电话。
管理员:员工号,姓名,联系电话。
其中:每个寝室可同时住宿多名学生,每名学生只分配一个寝室;每个寝室指定其中一名学生担当寝室长;每个管理员同时管理多个寝室,但每个寝室只有一名管理员。

实验过程:(选择:学生宿舍管理系统)
每组同学从以上选题中任选一个进行相应的设计与实现。要求如下:
(1)从简单的选题语义出发,按照数据库设计步骤,分别完成如下内容:概念设计(ER模型),给出满足需求的最终全局ER图,要求模型尽量精简,消除不必要的冗余,并给出理由或说明。
在这里插入图片描述

  • 实体:

    • 学生:属性有学号,姓名,性别,专业,班级
    • 宿舍:属性有房间号,房间电话
    • 管理员:属性有员工号,姓名,联系电话
  • 实体间关系:

    • 一个宿舍有多名同学住宿,一名同学只分配一个宿舍
    • 一个管理员管理多个宿舍,一个宿舍只能有一个管理员
    • 每间宿舍的同学中,要挑选一个寝室长

(2)逻辑设计(关系模型),把ER模型转换成适当的关系模式,并进行适当地规范化(可选),设计相关完整性约束。

规范化 定义
第一范式 确保字段原子性(确保每列不可再分)
第二范式 非键字段必须依赖键字段(一个表描述一件事)
第三范式 消除传递依赖 (所有非键字段不能有传递依赖)

(方式1)

  • 学生:(学号、姓名、性别、专业、班级、寝室号)
    • 主键:学号
    • 外键:寝室号
  • 寝室:(寝室号、房间电话、寝室长学号、员工号)
    • 主键:寝室号或寝室长学号
    • 外键:员工号、寝室长学号
  • 管理员:(员工号、姓名、联系电话)
    • 主键:员工号

(方式2)

  • 学生:(学号、姓名、性别、专业、班级)

    • 主键:学号
  • 寝室:(寝室号、房间电话)

    • 主键:寝室号
  • 管理员:(员工号、姓名、联系电话)

    • 主键:员工号
  • 住宿:(寝室号,学号)

    • 主键:学号
    • 外键:寝室号、学号
  • 学生管理寝室:(寝室号,寝室长学号)

    • 主键:寝室号、寝室长学号
    • 外键:寝室号,寝室长学号
  • 管理:(寝室号,员工号)

    • 主键:寝室号
    • 外键:寝室号,员工号
  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第六章 嵌入式SQL(E-SQL)简介 3 第一节 什么是嵌入SQL语言? 3 1.1 嵌入SQL程序的组成元素 3 1.2 什么是静态SQL和动态SQL? 4 1.3 什么是SQLCA? 4 1.4 什么是SQLDA? 5 第二节 SYBASE SQL SERVER嵌入式SQL语言 5 2.1 一个嵌入SQL语言的简单例子 5 2.2 嵌入SQL的处理过程 6 2.3 嵌入SQL语句总览 7 2.3.1 宿主变量 7 2.3.2 连接数据库 12 2.3.3 数据的查询和修改 13 2.3.4 游标的使用 13 2.3.5 SQLCA 15 2.3.6 WHENEVER 16 2.3.7 批处理 18 2.3.8 事务 18 2.4动态SQL语句 18 2.4 .1 动态修改 19 2.4.2 动态游标 20 2.4.3 SQLDA 23 2.4.4 DESCRIBE语句 27 2.5 两个例子程序 27 2.5.1 TELECOM程序 27 2.5.2 ADHOC程序 29 第三节 IBM DB2嵌入SQL语言 35 3.1 一个简单示例 35 3.2 嵌入SQL语句 37 3.2.1宿主变量 37 3.2.2单行查询 39 3.2.3多行查询 39 3.2.4插入、删除和修改操作 40 3.2.5 SQLCA 43 3.2.6事务 45 3.3 DB2的嵌入SQL程序处理过程 46 3.4 DB2的动态SQL嵌入语句 53 3.4.1 基本方法 53 3.4.2 动态游标 55 3.4.3 SQLDA 55 第四节 ORACLE数据库的嵌入SQL语言 66 4.1 基本的SQL语句 66 4.1.1宿主变量和指示符 66 4.1.2 查询 68 4.1.3 修改数据 68 4.1.4 游标 68 4.2 嵌入PL/SQL 71 4.3 动态SQL语句 72 4.3.1 ORACLE动态SQL语句的一些特点 72 4.3.2 使用动态SQL的四种方法 72 4.3.3 SQLDA 75 第五节INFORMIX的嵌入SQL/C语言 89 5.1 一个简单的入门例子 89 5.2 宿主变量 91 5.3 嵌入SQL的处理过程 96 5.4 动态SQL语言 96 5.4.1 SQLDA 97 第六节MICROSOFT SQL SERVER7嵌入式SQL语言 105 6.1 一个嵌入SQL语言的简单例子 105 6.2 嵌入SQL的处理过程 106 6.3 嵌入SQL语句 112 6.3.1 声明嵌入SQL语句中使用的C变量 112 6.3.2 连接数据库 115 6.3.3 数据的查询和修改 115 6.3.4 游标的使用 116 6.3.5 SQLCA 117 6.3.6 WHENEVER 118 6.4动态SQL语句 119 6.4 .1 动态修改 119 6.4.2 动态游标 120 6.4.3 SQLDA 122 6.4.4 DESCRIBE语句 130 6.5 API 130

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值