如果规定:每名运动员只能代表一个班级参加比赛,每个班级只能有一个班主任;每名运动员可参加多个项目,每个比赛项目也可由多名运动员参加;每个项目只能有一个项目名;每名运动员参加一个项目只能有一个成绩。根据上述语义,回答下列问题: (1)写出关系模式R的主关键字;
(2)分析R最高属于第几范式,说明理由。 (3)若R不是3NF,将其分解为3NF。
答:(1)关系模式R的主关键字是{运动员编号,项目号}。 (2)R最高属于第一范式。
因为存在着姓名,性别,班级和项目名对主关键字{运动员编号,项目号}的部分函数依赖,没有达到2NF。
(3)首先分解为2NF:R1(运动员编号,姓名,性别,班级,班主任),R2(项目号,项目名),R3(运动员编号,项目号,成绩)
因为R1存在班主任对运动员编号的传递函数依赖,所以没有达到3NF,再分解为3NF:R1分解为R1(运动员编号,姓名,性别,班级)和R4(班级,班主任) 6.设有关系模式:R(职工号,日期,日营业额,部门名,部门经理)
如果规定:每个职工每天只有一个营业额,每个职工只在一个部门工作,每个部门只有一个经理。
(1)根据上述规定,写出模式R主关键字。 (2)分析R最高属于第几范式,说明理由。 (3)若R不是3NF,将其分解为3NF。
答:(1)关系模式R的主关键字是(职工号,日期)。 (2)R最高属于第一范式。
因为存在着部门名对主关键字(职工号,日期)的部分函数依赖,没有达到2NF。
(3)首先分解为2NF:R1(职工号,部门名,部门经理),R2(职工号,日期,日营业额)
因为R1存在部门经理对职工号的传递函数依赖,所以没有达到3NF,再分解为3NF:R1分解为R1(职工号,部门名)和R3(部门名,部门经理)
11
5.7 习题
1.简述数据库设计过程。
答:数据库设计可分为以下六个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理设计阶段、数据库实施阶段以及数据库运行和维护阶段。 2.简述数据库设计过程的各个阶段上的设计任务。
答:需求分析的任务是通过详细调查现实世界要处理的对象(组织、 部门、 企业等), 充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
概念设计阶段要做的工作不是直接将需求分析得到的数据存储格式转换为DBMS能处理的数据库模式,而是将需求分析得到的用户需求抽象为反映用户观点的概念模型。
逻辑设计的主要目标是产生一个DBMS可处理的数据模型和数据库模式。该模型必须满足数据库的存取、一致性及运行等各方面的用户需求。
将逻辑设计中产生的数据库逻辑模型结合指定的DBMS,设计出最适合应用环境的物理结构的过程,称为数据库的物理结构设计。
根据逻辑和物理设计的结果,在计算机上建立起实际的数据库结构,并装入数据,进行试运行和评价的过程,叫做数据库的实施(或实现)。
维护工作包括以下内容:数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监督、分析和改造;数据库的重组织和重构造。 3.简述数据库设计的概念。
答:数据库设计是对于给定的应用环境,在关系数据库理论的指导下,构造最优的数据库模式,在数据库管理系统上建立数据库及其应用系统,使之能有效地存储数据,满足用户的各种需求的过程。
4.简述数据库概念结构设计的方法和设计步骤。
答:方法:(1) 自顶向下法 (2) 自底向上法 (3) 逐步扩张法 (4) 混合策略
在概念结构设计时,可以分为两步。进行数据抽象,设计局部E-R模型,即设计用户视图;集成各局部E-R模型,形成全局E-R模型,即视图的集成。 5.什么是数据库的逻辑结构设计? 试述其设计步骤。
答:逻辑设计的主要目标是产生一个DBMS可处理的数据模型和数据库模式。该模型必须满足数据库的存取、一致性及运行等各方面的用户需求。
其逻辑结构设计阶段一般要分为三步进行:将E-R图转化为关系数据模型,关系模式的优化,设计用户外模式。
6.简述把E-R图转换为关系模型的转换规则。
答:一个实体转化为一个关系模式。实体的属性就是该关系模式的属性。实体的主码就是该关系模式的主码。
两实体间1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系
12
模式合并。
两实体间1:N 联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。
同一实体间的1:N联系可在这个实体所对应的关系模式中多设一个属性,用来作为与该实体相联系的另一个实体的主码。
两实体间M:N联系,必须为联系产生一个新的关系模式。该关系模式中至少包含被它所联系的双方实体的主码,若联系中有属性,也要并入该关系模式中。
同一实体间M:N联系,必须为联系产生一个新的关系模式。该关系模式中至少包含被它所联系的双方实体的主码,若联系有属性,也要并入该关系模式中。由于这个“联系”只涉及一个实体,所以加入的实体的主码不能相同。
两个以上实体集之间M:N的联系,必须为联系产生一个新的关系模式,该关系模式中至少包含被它所联系的所有实体的主码,若联系有属性,也要并入该关系模式中。 7.将图1学生信息数据库系统的E-R图转换为关系模型。
课程名 学分 学号 姓名 课程 M 选修 N 学生 N 属于 1 班级 课程号 成绩 性别 年龄 班级名 班主任 图1 习题7图
答:课程(课程号,课程名,学分)
学生(学号,姓名,性别,年龄,班级名) 班级(班级名,班主任) 选修(学号,课程号,成绩) 8.一个图书馆理系统中有如下信息: 图书:书号、书名、数量、位置 借书人:借书证号、姓名、单位
出版社:出版社名、邮编、地址、电话、E-mail
其中约定:任何人都可以借多种书,任何一种书可以被多个人借,借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社名具有唯一性。 根据以上情况,完成如下设计: (1)设计系统的E-R图; 将E-R图转换为关系模式;
(3)指出转换后的每个关系模式的主码。
答:(1)E-R图
13
姓名 单位 还书日期 书号 书名 出版社名 邮编 借书人 M 借阅 N 图书 M 出版 1 出版社 地址 借书证号
借书日期 数量 位置 电话 E-mail (2)和(3)关系模式
图书(书号,书名,数量,位置,出版社名) 借书人(借书证号,姓名,单位)
出版社(出版社名,邮编,地址,电话,E-mail) 借阅(书号,借书证号,借书日期,还书日期)
6.4 习题
1.安装Microsoft SQL Server 2005系统操作。 答:略。
2.SQL Server 2005主要提供了哪些服务?如何启动、暂停或停止SQL Server服务? 答:服务器管理、对象资源管理、SQL Server配置管理等。
启动、暂停或停止SQL Server服务:首先在SQL Server配置管理器的窗口左边单击“SQL Server 2005服务”,此时在窗口右边会看到已安装的所有服务,可以选中某个服务,然后单击窗口上部工具栏中的相应按钮,或右击某个服务名称,在弹出的快捷菜单中选择相应的菜单选项来启动或停止服务。
3.SQL Server外围应用配置器的主要作用是什么?
答:SQL Server外围应用配置器(SQL Server Surface Area Configuration)是SQL Server
14
2005提供的一个新的管理工具。通过SQL Server外围应用配置器,可以在统一集中的界面下设置各种SQL Server服务实例对外沟通的渠道,降低可能的危险。 4.简述SQL Server Management Studio的使用。 答:略。
5.简述对象资源管理器的功能。
答:SQL Server Management Studio的对象资源管理器组件是一种集成工具,可以查看和管理所有服务器类型的对象。
用户可以通过该组件操作数据库,包括新建、修改、删除数据库、表、视图等数据库对象,新建查询、设置关系图、设置系统安全、数据库复制、数据备份、恢复等操作,是SQL Server Management Studio中最常用、也是最重要的一个组件,类似于SQL Server 2000中的企业管理器。
7.3 习题
1.简述T-SQL语言的特点。 答:(1)综合统一
(2)两种使用方式,统一的语法结构 (3)高度非过程化
(4)类似于人的思维习惯,容易理解和掌握
2.什么是标识符?T-SQL中有几种标识符?它们的区别是什么?
答:标识符是用来标识事物的符号,其作用类似于给事物起的名称。标识符分为两类:常规标识符和分隔标识符。
符合所有标识符格式规则的标识符为常规标识符,可以使用分隔符,也可以不使用分隔符。不符合标识符格式规则的标识符必须使用分隔符。 3.如何表示数据库对象名?
答:[server_name.[database_name].[schema_name] | database_name. [schema_name] | schema_name.]object_name
4.什么是局部变量?什么是全局变量?如何表示它们?
答:全局变量由系统提供且预先声明,通过在名称前加两个“@”符号区别于局部变量。用户只能使用全局变量,不能对它们进行修改。全局变量的作用范围是整个SQL Server系统,任何程序都可以随时调用它们。
T-SQL语言中的变量是可以保存单个特定类型的数据值的对象,也称为局部变量,只在定义它们的批处理或过程中可见。
5.以下变量名中,哪些是合法的变量名,哪些是不合法的变量名?
A1,1a,@x,@@y,&变量1,@姓名,姓名,#m,##n,@@@abc##,@my_name
答:合法的变量名:@x,@@y,@姓名,@my_name
15