数据库系统设计与开发课程思题
1. 简述数据库的生存周期、参与开发的人员、DBA的职责。
数据库的生存周期: 数据库系统的规划、数据库设计、数据库的建立、数据库的运行、管理和维护、数据库的扩充和重构
参与开发的人员:数据库管理员、系统分析员、程序设计员、用户 DBA的职责:进行数据库的规划、设计、协调、维护和管理
2.简述数据库系统(DBS)的组成、数据库(DB)的概念、数据库管理系统(DBMS)的基本功能。
简述数据库系统(DBS)的组成:数据库、数据库管理系统、数据库管理员(DBA)、用户或应用程序。 数据库(DB)的概念:以一定的组织形式(数据模型)存放在计算机存储设备上的相关数据的集合。
数据库管理系统(DBMS)的基本功能:(1)数据定义功能;(2)数据组织存储和管理; (3)数据操纵功能;(4)数据库的事务管理和运行管理;(5)数据库的建立和维护功能;(6)其他功能,如DBMS与网络中其他软件系统的通信功能等;
*3.数据库设计的主要步骤有哪些,每步的输入、主要任务和设计结果各是什么?
数据库设计的主要步骤: 规划、需求描述和分析、概念结构设计、逻辑结构设计、物理结构设计,数据库实施,数据库运行和维护 规划: 输入:
主要任务 分析和权:人员水平、数据采集、管理活动、软件(DBMS)、硬件(存储)要求。 设计结果:确定DBS的总目标。制定开发计划给决策部门批准。 需求描述和分析: 输入:
主要任务:了解原系统的工作概况;明确用户的各种需求:信息需求、处理需求、安全需求、完整性需求、性能需求、未来需求;确定新系统功能(系统目标)
设计结果 形成需求说明书?开发指南、系统验证依据 概念设计: 输入:
主要任务:选择合适的概念数据模型(表达力、易懂性)? E-R模型
用E-R模型设计数据结构?E-R图,根据需求描述来确定实体、联系、属性设计结果:形成全局的概念结构,得到一个独立于具体DBMS的概念模型 逻辑设计: 输入:
主要任务:将概念结构转化为某个具体的DBMS所支持的逻辑结构、形成合理的全局逻辑结构(基表),并设计出外模式(视图),对逻辑结构进行适当的调整和优化.
设计结果:使之在功能、完整性约束、可扩充性上满足用户需求。 物理设计: 输入:
主要任务:选择合适的存储结构和存取路径
设计结果:提高数据库性能,有效利用存储空间,得到一个最适合应用环境的物理结构
2
4. 某自产自销企业,生产多种产品,有多个门市部。每种产品可以在多个门市部销售,每个门市部可以销
售多种产品,每种产品在每个门市部都有月计划销售量,其值不低于200;已经制定了产品销售计划的门市部不允许倒闭(注:倒闭的门市部信息将从数据库中删除)。每个门市部聘用多名营业员,每位营业员只能在一个门市部工作;门市部聘用营业员有聘期和工资,工资底线为500元。产品有产品号、产品名、规格等属性;门市部有门市部号、门市部名、地址等属性;营业员有工号、姓名、性别等属性。该企业拟建立一个能管理产品、门市部和营业员相关信息的“产品与销售管理系统”,请: (1)为“产品与销售管理系统”做概念设计,画出E-R图。
(2)在概念设计的基础上,为该系统做逻辑设计(即将E-R图转换成关系模式),写出各个关系模式,用单下划线标出主键,用曲线标出外键。
(3)用SQL的DDL语句定义各个基表,准确定义完整性。
关系模式:
产品(产品号,产品名,规格)
门市部(门市部号,门市部名,地址)
营业员(工号,姓名,性别,门市部号,聘期,工资) 销售(产品号,门市部号,月计划销售量)
产品 门市部 create table product create table shop (pno char(10) not null, (shno char(10) not null, pname char(10), shname char(10), pgg char(10) address char(10), primary key(pno)); primary key(shno)); 营业员 销售 create table sales create table sell (sano char(10) not null, (shno char(10) not null, saname char(10), sano char(10) not null, sex char(1), sep int, shno char(10), primary key(shno,sano), spq date, foreign key(shno) references shop(shno) on ssa decimal(10,2), delete cascade, primary key(shno), foreign key(pno) references product(pno) on foreign key(shno) references shop(shno), delete restrict, check(ssa>=500)); check(sep>=200));
2
5. 某学校拟开发一个MIS,用于管理系、班级、教研室、学生、教师、课程的相关信息。每个系有多个班级,也有多个教研室;每个班级有多名学生;每个教研室有多位教师;每位学生选修多门课程,每门课程有多位学生选修;每位教师可以授多门课程,每门课程可以由多位教师讲授,教师授课用指定的教材。每个系有系编号、系名、所在地点、联系电话等信息;每个班级用班级号标识;每个教研室有教研室编号、教研室名、办公地点、联系电话等信息;每位教师有职工号、教师姓名、职称、联系电话等信息;每位学生有学号、姓名、性别、出生日期、籍贯等信息;每门课程有课程号、课程名、开课时间、学分等信息;学生学习每门课程都有唯一的成绩。
试:(1)为该系统做概念设计,画出E-R图。(2)为该系统做逻辑设计,写出各个关系模式,标出主键和外键(主键用单下划线标出,外键用曲线标出)。
2
6.基于以下E-R图进行数据库逻辑设计,写出各个关系模式,标出主键和外键(主键用单下划线标出,外键用曲线标出)。
学生(学号,姓名,性别,出生日期) 课程(课程号,课程名,学分,开课时间)
选修(学号,课程号,成绩) (学号和课程号下分别加波浪线)
7 主属性 :包含在任何一个候选键中的属性 非主属性 :不包含含在任何一个候选键中的属性
候选键 :如果关系的某一属性或属性组的值能唯一地决定其他所有属性的值,而它的任何真子集无此性质 主键 :当一个关系能有多个候选键时,可选定一个来标识元组
外键 :不是关系的键却引用了其它关系或本关系的键的属性或属性组 实体完整性 :每个关系都有一个主键、值唯一、≠NULL
引用完整性 :(参照完整性):外键引用已有的主键值 或为NULL 部分依赖: 传递依赖 1NF 2NF 3NF BCNF 8. 有关系模式R(A,B,C,D,E),其基本函数依赖集F={B→A,B→C,A→D,DC→E}。试:(1)求R的候选键;(2)判断R符合第几级范式;(3)将R保持依赖和无损地分解为符合3NF的模式集。
2
9.自底向上的概念设计过程中,E-R 图的集成需解决哪些问题?2-19、21
(a)确认视图中的 对应→语法、语义相同的概念,公共实体集:同名实体集或有相同实体键的实体。冲突→属性冲突、命名冲突、结构冲突。
(b)修改视图——解决冲突,消除冗余。解决冲突,合并成初步E-R图,属性冲突和命名冲突→协商解决,结构冲突→具体对待:同一对象在不同的应用中产生不同的抽象,按原则把属性→实体或实体→属性,使相同;同一实体在不同局部E-R图属性的并,作为该实体属性;实体间的联系呈现不同的类型,按应用的语义,作适当的综合或调整。消除冗余,消除不必要的冗余,如可由基本数据导出的冗余数据,可由基本联系导出的联系,这些会影响完整性,必须要消除冗余。
10.DBA 做物理设计时,哪些情况下可以考虑建立索引 index?哪些情况下不考虑建立簇集 cluster? 可以考虑建立索引 index的情况:主键、外键上建立索引;以读为主或只读的表多建索引;等值查询(中选元组<5%),在相关属性上建索引;范围查询,在相关属性上建簇集索引;可以从索引直接得到结果的查询,在相关属性上建立索引;
不考虑建立簇集 cluster的情况:不是以通过簇集键访问或连接为主要应用的表,对应每个簇集键的平均元组数太多或太少,簇集键值不稳定。
11.ASP 有哪些访问数据库的方式? 在ASP中可以通过三种方式访问数据库:
1、IDC(Internet Database Connector)方式,IDC是一个传统的数据库查询工具,用来定义和执行数据库查询的SQL命令,并向浏览器返回一个指定数据格式的页面。使用IDC访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的访问; 2、ADO(ActiveX Data Objects)方式,ADO访问数据库,更像编写数据库应用程序,它把绝大部分的数据库操作封装在七个对象中,在ASP页面中编程调用这些对象执行相应的数据库操作;
3、RDS(Remote Data Service)方式,RDS支持数据远程操作。它不仅能执行查询并返回数据库查询结果,而且可以把服务器端的数据“搬到”用户端修改,并调用一个数据库更新命令,将用户端修改的数据写回数据库,象使用本地数据库一样。这三种访问方式对数据库的访问都是由Internet Information Server完成的。通过Web浏览器用HTTP协议向IIS(Internet信息服务器)发送请求,IIS执行对数据库的访问,并返回一个HTML格式的文档响应。
12.ODBC、OLE DB、ADO、 DAO 概念、关系、区别是什么?
ODBC---开放式数据库连接性 是Microsoft的基于关系数据库一种互连技术,它只能访问关系数据库. ADO---活动数据对象是一种基于COM的数据库访问技术,可以访问关系数据库与非关系数据库,由于它是基于COM的,访问速度也较快,占用资源较小。
DAO--- 数据访问对象是第一个面向对象的接口,最适用于单系统应用程序或小范围本地分布使用。 OLE DB---对象链接嵌入数是一种技术标准,目的是提供一种统一的数据访问接口
关系:DAO是最早出现的,ADO 是 DAO的后继产物,ODBC和OLE DB是数据库中间件,DAO可以通过ODBC驱动程序访问ODBC数据源,ODBC通常用来访问不具备OLE-DB特性的非Microsoft数据库中的数据,ADO在一个软件包中提供了DAO和RDO两种功能性,ADO是程序和数据接口的桥梁。
13.Oracle是那种数据库管理系统DBMS产品?其采用的数据模型是什么?该模型有哪些要素?1-4、13
关系型数据库产品;其采用的是逻辑数据模型;该数据模型的三要素为数据结构、数据操作、约束条件。
14. 在 Oracle 创建表时,用于控制数据段存储空间和块的使用的参数有哪些?各控制什么内容?4-8、9、25
用CREATE TABLE的TABLE SPACE关键字指定表空间,INITIAL、NEXT、PCTINCREASE控制数据段中区的分配方式,PCTFREE、PCTUSED参数控制数据段中块的空闲空间管理方式。
INITIAL:初始区大小 NEXT:第一个后续区大小 PCTINCREASE:后续区增长比例 MAXEXTENTS:为段分配的最大区数。
PCTFREE:设置块中保持空闲的百分比,缺省10
PCTUSED:标记块的可用状态。达到PCTFREE后可再次使用前,最大的已占有空间的比例。
15.哪种管理方式能够优化表空间的管理性能?4-27
字典管理方式表空间—表空间使用数据字典管理空间分配;
2