数据库设计报告

合集下载

-图书管理系统数据库设计报告

-图书管理系统数据库设计报告

图书馆管理系统数据库设计报告目录一、 设计背景........................................................二、 需求分析........................................................2.1系统目标 .....................................................2.2需求定义 .....................................................2.3数据流图 .....................................................2.4数据字典 .....................................................三、 功能说明........................................................四、 概念结构设计 ...................................................4.1 分ER图 ......................................................4.2总ER图 .....................................................五、 逻辑结构设计 ...................................................六、 物理结构设计 ...................................................七、 设计人员........................................................正文一、设计背景随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的树木逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,通过使用Access创建的图书管理系统可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。

数据库课程设计总结报告

数据库课程设计总结报告

数据库课程设计总结报告1. 引言数据库课程设计是我在本学期数据库课程中的一项重要任务。

通过这次设计,我深入理解了数据库的概念和重要性,以及如何设计和实现一个完整的数据库系统。

本文将对我的数据库课程设计进行总结和报告,包括设计目标、数据库结构、功能实现和遇到的问题以及解决方案等内容。

2. 设计目标我在设计数据库系统时,主要考虑了以下几个目标:•数据模型准确性和灵活性:我希望设计的数据库能够准确地反映实际业务需要,并且具备一定的灵活性,使得数据模型可以在一定程度上适应业务需求的变化。

•数据安全性和完整性:数据库中的数据应该得到保护,只有合法用户才能访问和修改数据。

同时,数据库中的数据应该具备完整性,即数据的完整和一致性应得到保证。

•性能和可扩展性:设计的数据库应该具备较高的性能和可扩展性,以应对日益增长的数据量和用户负载。

3. 数据库结构在设计数据库结构时,我采用了关系数据库模型,其中包括了多个表和它们之间的关系。

以下是我设计的数据库结构:3.1 表结构•用户表 (User)–用户ID (UserID)–用户名 (Username)–密码 (Password)–电子邮件 (Email)•订单表 (Order)–订单ID (OrderID)–用户ID (UserID)–订单日期 (OrderDate)–订单金额 (OrderAmount)•产品表 (Product)–产品ID (ProductID)–产品名称 (ProductName)–产品描述 (ProductDescription)–产品价格 (ProductPrice)3.2 表之间的关系•用户表和订单表之间为一对多的关系,一个用户可以拥有多个订单。

•订单表和产品表之间为多对多的关系,一个订单可以对应多个产品,一个产品也可以出现在多个订单中。

4. 功能实现在数据库课程设计中,我实现了以下几个主要功能:•用户注册和登录功能:用户可以通过注册功能创建新用户账户,并通过登录功能进行身份验证。

数据库的设计实验报告

数据库的设计实验报告

一、实验目的1. 理解数据库设计的概念、过程和步骤。

2. 掌握数据库概念结构、逻辑结构和物理结构的设计方法。

3. 能够运用E-R图进行数据库概念结构设计。

4. 能够运用SQL语句进行数据库逻辑结构和物理结构设计。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库概念结构设计2. 数据库逻辑结构设计3. 数据库物理结构设计四、实验步骤1. 数据库概念结构设计(1)分析需求,确定实体和属性以“图书管理系统”为例,确定实体和属性如下:实体:图书、读者、借阅信息属性:- 图书:书名、作者、出版社、ISBN、出版日期、分类号、库存数量- 读者:读者编号、姓名、性别、出生日期、联系电话、邮箱、住址- 借阅信息:借阅编号、图书编号、读者编号、借阅日期、归还日期、状态(2)绘制E-R图根据实体和属性,绘制E-R图如下:```图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态) ```2. 数据库逻辑结构设计(1)确定关系模式根据E-R图,确定关系模式如下:- 图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)- 读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)- 借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态)(2)编写SQL语句创建表```sqlCREATE TABLE 图书 (书名 VARCHAR(100),作者 VARCHAR(50),出版社 VARCHAR(50),ISBN VARCHAR(20),出版日期 DATE,分类号 VARCHAR(10),库存数量 INT);CREATE TABLE 读者 (读者编号 VARCHAR(10),姓名 VARCHAR(50),性别 CHAR(1),出生日期 DATE,联系电话 VARCHAR(20),邮箱 VARCHAR(50),住址 VARCHAR(100));CREATE TABLE 借阅信息 (借阅编号 VARCHAR(10),图书编号 VARCHAR(10),读者编号 VARCHAR(10),借阅日期 DATE,归还日期 DATE,状态 VARCHAR(10));```3. 数据库物理结构设计(1)确定索引根据需求,确定索引如下:- 图书表:ISBN、分类号- 读者表:读者编号- 借阅信息表:借阅编号、图书编号、读者编号(2)编写SQL语句创建索引```sqlCREATE INDEX idx_isbn ON 图书(ISBN);CREATE INDEX idx_分类号 ON 图书(分类号);CREATE INDEX idx_读者编号 ON 读者(读者编号);CREATE INDEX idx_借阅编号 ON 借阅信息(借阅编号);CREATE INDEX idx_图书编号 ON 借阅信息(图书编号);CREATE INDEX idx_读者编号 ON 借阅信息(读者编号);```五、实验结果与分析1. 通过实验,掌握了数据库设计的概念、过程和步骤。

数据库实训设计报告范文

数据库实训设计报告范文

一、实训背景随着信息技术的飞速发展,数据库技术已经成为现代信息技术中不可或缺的一部分。

为了使学生在实际工作中能够熟练运用数据库技术,提高学生的实践能力和综合素质,本次实训以SQL Server 2000为平台,设计并实现一个学生信息管理系统。

二、实训目的1. 掌握数据库的基本概念、设计方法及实现技术。

2. 熟悉SQL Server 2000数据库的安装、配置及使用。

3. 学会使用SQL语句进行数据查询、插入、更新和删除等操作。

4. 提高学生的团队协作能力和项目管理能力。

三、实训内容1. 数据库需求分析(1)系统功能需求:主要包括学生信息管理、课程信息管理、成绩信息管理、教师信息管理等。

(2)系统性能需求:系统应具备良好的稳定性和可扩展性,能够满足一定数量的用户同时访问。

2. 数据库设计(1)数据模型设计:采用E-R图进行数据模型设计,包括实体、属性和联系。

(2)数据库逻辑设计:根据E-R图设计数据库表结构,包括表名、字段名、数据类型、约束等。

(3)数据库物理设计:根据逻辑设计结果,在SQL Server 2000中创建数据库和表。

3. 数据库实现(1)创建数据库:在SQL Server 2000中创建名为“StudentInfo”的数据库。

(2)创建表:根据数据库逻辑设计,在“StudentInfo”数据库中创建以下表:- 学生信息表(Student):包括学号、姓名、性别、年龄、班级等字段。

- 课程信息表(Course):包括课程编号、课程名称、学分等字段。

- 成绩信息表(Score):包括学号、课程编号、成绩等字段。

- 教师信息表(Teacher):包括教师编号、姓名、性别、职称等字段。

(3)设置约束:为各个表设置主键、外键、唯一约束、非空约束等。

4. 数据库操作(1)数据查询:使用SQL语句进行数据查询,包括简单查询、条件查询、多表查询等。

(2)数据插入、更新和删除:使用SQL语句进行数据插入、更新和删除操作。

某项目数据库设计报告

某项目数据库设计报告

某项目数据库设计报告1.引言本报告旨在介绍项目的数据库设计方案。

数据库是项目中存储和管理数据的重要组成部分,它的设计和实现对整个系统的性能和稳定性具有重要影响。

本报告将分析项目需求和业务流程,并基于这些信息提出一个适合的数据库设计方案。

2.项目需求及业务流程分析在开始数据库设计之前,我们首先需要对项目的需求和业务流程进行分析。

根据对项目需求的了解,我们得知该项目是一个在线商城系统,主要包含以下模块:用户管理、商品管理、订单管理和库存管理。

业务流程包括用户注册、商品浏览、商品购买、订单生成和库存更新等。

3.数据库设计方案基于对项目需求和业务流程的分析,我们提出以下数据库设计方案:3.1数据库架构在本项目中,我们使用关系数据库来存储和管理数据。

关系数据库具有结构化的数据模型和高效的查询能力,非常适合用于存储和管理大量的结构化数据。

3.2数据表设计根据业务流程,我们设计了以下数据表来存储相关数据:- 商品表(Product):存储商品的基本信息,包括商品ID、商品名称、商品价格、商品库存等。

- 订单表(Order):存储订单的基本信息,包括订单ID、用户ID、商品ID、订单状态等。

- 库存表(Inventory):存储库存的基本信息,包括商品ID、商品库存数量等。

3.3数据表关系和约束在数据库设计中,我们需要定义表之间的关系和约束,以保证数据的完整性和一致性。

- 用户表(User)和订单表(Order)之间的关系是一对多关系,即一个用户可以有多个订单,但一个订单只属于一个用户。

我们在订单表中添加了一个外键(user_id)来关联用户表的主键(user_id)。

- 商品表(Product)和订单表(Order)之间的关系是多对多关系,即一个订单可以包含多个商品,而一个商品可以被多个订单使用。

为了实现多对多关系,我们需要创建一个中间表(order_product),它包含订单ID和商品ID两个外键来关联订单表和商品表的主键。

数据库设计报告v1

数据库设计报告v1

数据库课程设计报告 -------人事/工资/考勤管理系统软件学院软件工程专业08级6班姓名:嵇存学号:200800300083任课教师:王诚梅实验教师:助教:一:系统开发平台本系统采用Eclipse为开发工具,后台数据库采用SQL Server 2008二、数据库规划2.1 任务陈述随着公司的规模不断扩大,员工的数量急剧增加,有关员工的各种信息也成倍增长.面对庞大的信息量,有必要开发人事工资考勤管理系统来提高公司人事工资考勤管理工作的效率.通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。

公司的人力资源管理的功能范围,也从单一的工资核算、人事管理,发展到可为企业的决策提供帮助的全方位解决方案.这些领域包括人力资源规划、员工考核、劳动力安排、时间管理、招聘管理、员工薪资核算、培训计划、差旅管理等,并同企业管理系统中的财务、生产系统组成高效的、具有高度集成性的企业资源系统.2.2 任务目标本人事工资考勤管理系统包括人事信息管理工资信息管理、考勤信息管理、成绩报表信息管理四大模块。

管理员可以拥有完全的权限管理系统,而员工用户只拥有查询信息和查询信息的权限。

三、系统定义3.1 系统边界1. 系统在员工进入公司时为员工建立人事档案,人事档案的管理由公司经理级人员完成。

人事档案应该包括员工进入公司的时间、员工级别、员工的基本工资、员工所在部门和员工的其他基本信息等。

2. 员工的工资应该包括基本工资和奖金两个部分。

基本工资根据员工的级别划分(试用员工、正式员工、组长、部门经理、总经理),奖金应根据员工的业绩由其直接或更高级领导确定3. 员工在来到公司上班时应该首先登录公司系统签到,离开公司时登录系统签离。

如果办事外出或者出差应由上级领导确认考勤情况。

缺勤或者迟到按一定数额罚款,迟到1小时以上算缺勤。

4. 系统应该可以对基础数据进行维护。

5. 员工调动和离职应保留员工的历史信息,以备日后查询。

数据库设计 实验报告

数据库设计 实验报告

数据库设计实验报告数据库设计实验报告一、引言数据库设计是计算机科学中至关重要的一环,它涉及到数据的组织、存储和管理。

本实验报告旨在介绍数据库设计的基本原理和实践经验,以及本次实验的设计过程和结果。

二、数据库设计原理1. 数据库设计的目标数据库设计的主要目标是满足用户需求,提供高效、可靠、安全的数据存储和访问方式。

设计师需要深入了解用户的需求,并根据需求制定合理的设计方案。

2. 数据库设计过程数据库设计通常包括需求分析、概念设计、逻辑设计和物理设计四个阶段。

需求分析阶段需要明确用户需求和系统功能,概念设计阶段将需求转化为概念模型,逻辑设计阶段将概念模型转化为逻辑模型,物理设计阶段将逻辑模型映射到具体的数据库管理系统。

3. 实体关系模型实体关系模型是数据库设计中常用的概念模型,它通过实体、属性和关系描述现实世界的数据结构。

实体表示现实世界中的对象,属性表示实体的特性,关系表示实体之间的联系。

4. 范式理论范式理论是数据库设计中的重要概念,它描述了数据的结构和依赖关系。

常用的范式包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。

设计师需要根据需求和数据特点选择合适的范式,并遵循范式理论进行设计。

三、实验设计过程本次实验的数据库设计目标是创建一个图书管理系统。

根据需求分析,我们确定了以下实体和关系:1. 实体:- 书籍(书名、作者、出版社、出版日期、价格等属性)- 读者(姓名、年龄、性别、联系方式等属性)- 图书馆(名称、地址、管理员等属性)2. 关系:- 借阅关系(读者ID、书籍ID、借阅日期、归还日期等属性)根据实体关系模型和范式理论,我们进行了如下设计过程:1. 概念设计:根据需求分析,我们创建了实体-属性关系图,明确了实体和属性之间的关系。

2. 逻辑设计:根据概念设计的结果,我们将实体关系图转化为关系模式,并进行了范式分析。

通过分析,我们确定了每个关系模式的主键和外键,并消除了冗余和不合理的依赖关系。

数据库设计报告

数据库设计报告

数据库设计报告数据库设计报告是指在开发一个新系统之前,对数据库进行规划和设计的一份报告。

它旨在为系统设计者提供一个全面的框架,使他们能够开发一个符合规范、可靠、易于维护的数据库。

1.概述数据库是现代计算机系统中的重要组成部分,为各种应用程序提供数据存储、管理和检索功能。

在数据库设计报告中,必须确定数据库的内容和结构,这需要包括数据表、字段、关系、索引等结构的定义。

在概述部分,应该包括系统的目标、主要功能、数据需求和用户需求。

需要明确系统的规模、复杂程度和预期的性能。

此外,还需要针对系统的安全和备份方案进行概述。

2.数据库逻辑设计逻辑设计是指基于数据库需求分析和系统分析的结果,确定数据库的范围和内容,构建关系模型,确定数据表、属性和关系。

需要进行数据建模,确定数据流关系图和ER 图,并对数据表进行命名。

在逻辑设计中,应当包括数据表定义和表之间的关系定义。

数据表定义包括表名、列名、数据类型、长度、约束条件。

表之间的关系定义包括主键、外键、参照完整性、级联更新和删除等。

3.数据库物理设计物理设计是指将逻辑设计转换为实际的数据库对象。

数据库物理设计需要考虑如何在磁盘上存储数据表、建立索引、设置访问控制和决定备份策略、服务器的配置、选择存储设备等方面的问题。

在数据库物理设计中,应该对数据表进行分区、决定分区规则,对表的存储空间、索引、数据分布进行优化,针对应用程序的并发访问和事务处理,设置缓存机制。

4.数据库性能评估在完成数据库设计之后,必须进行性能评估。

这包括考虑数据库服务器硬件、操作系统等因素,并进行性能测试,以保证数据库的可扩展性、安全性和可用性。

需要进行数据负载测试、查找性能瓶颈,调试和优化数据库,提高系统性能。

5.数据库维护和管理数据库是一个动态的系统,需要经常进行维护和管理。

需要设置数据库备份策略、维护操作日志、监测数据库性能等。

应该针对故障和错误,设置数据库障碍诊断和恢复机制,确保数据库的可靠性和完整性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库系统概论》课程设计报告课程名称:数据库系统概论院系年级:14级电气信息工程系专业班级:计算机科学与技术1班学号:姓名:联系电话:指导教师:安徽马鞍山2016年6月第一章相关方法技术1.1数据库应用特点数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。

数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。

随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。

1.2数据与处理以处理为中心根据处理功能设计数据文件,处理功能需要什么数据就创建什么数据文件。

处理功能是主动的,数据结构是依赖的。

势必导致数据的冗余存储,潜在数据的不一致性。

只适合科学计算,不适合数据密集型的事务处理系统。

以数据为中心只要应用领域内的业务内容不变,其信息结构是稳定,多变的是处理功能。

主张设计稳定的数据结构,自动适应处理程序的多变性。

凡是数据库应用系统,适合采用以数据为中心的应用模式。

1.3数据库设计方法(1)功能驱动方法:这个方法设计依赖处理中心强调先根据功能要求画出分层的数据流程图从数据流程图当中收集数据项及其数据存储以及数据字典依据数字字典分析提取出数据库相关的各种信息类。

(2)E-R建模方法:采用以数据为中心的设计策略在初步了解领域当中各种业务需求和处理过程基础上1.4数据库设计步骤按照规范化设计方法,从数据库应用系统设计和开发的全过程来考虑,将数据库及其应用软件系统的生命周期可以细分为七个阶段:规划、需求分析、概念结构设计、逻辑结构设计、物理结构设计、实施及运行维护。

各阶段需完成的工作分别为:1、应用规划规划阶段进行系统的必要性和可行性分析,确定数据库系统在整个管理系统中的地位。

规划阶段必须要完成的任务包括:确定系统的范围;确定开发工作所需的资源(人员、硬件和软件);估算软件开发的成本;确定项目进度。

规划阶段产生的结果是可行性分析报告及数据库规划纲要,内容包括信息范围、信息来源、人力资源、设备资源、软硬件环境、开发成本估算、进度计划、现行系统向新系统过渡计划等。

2、需求分析这一阶段是计算机人员(系统分析员)和用户共同收集数据库所需要的信息内容和用户对处理的要求,加以规格化和分析,以书面形式确定下来,作为以后验证系统的依据。

在分析用户要求时,要确保用户目标的一致性。

信息需求:指目标系统涉及的所有实体、属性、以及实体间的联系等,包括信息的内容和性质,以及由信息需求导出的数据需求。

处理需求:指为得到需要的信息而对数据进行加工处理的要求,包括处理描述,发生的频度、响应时间以及安全保密要求等。

进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。

需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。

作为地基的需求分析是否做的充分于准确,决定了在其上构建数据库大厦的速度与质量。

需求分析做得不好,甚至会导致整个数据库设计返工重做。

3、概念设计把用户的信息要求统一到一个整体逻辑结构中,此结构能表达用户的要求,且独立于任何D B M S软件和硬件。

概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体D B M S的概念模型。

4、逻辑设计逻辑结构设计分为两部分,即数据库结构设计和应用程序的设计。

从逻辑设计导出的数据库结构是D B M S能接受的数据库定义,这种结构有时也称为逻辑数据库结构。

逻辑结构设计是将概念结构转换为某个D B M S所支持的数据模型,并对其进行优化。

5、物理设计物理设计也分为两部分:物理数据库结构的选择和逻辑设计中程序模块说明的精确化。

这一阶段的工作成果是一个完整的能实现的数据库结构。

数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。

6、数据库的实施根据物理设计的结果产生一个具体的数据库和它的应用程序,并把原始数据装入数据库。

实施阶段主要有三项工作:(1)建立实际数据库结构;(2)装入试验数据对应用程序进行调试;(3)装入实据数据。

在数据库实施阶段,设计人员运用D B M S提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

7、运行维护数据库系统的正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始。

运行和维护阶段的主要任务有四项:(1)维护数据库的安全性与完整性;(2)监测并改善数据库运行性能;(3)根据用户要求对数据库现有功能进行扩充;(4)及时改正运行中发现的系统错误。

维护分为改正性维护,适应性维护,完善性维护和预防性维护。

数据库应用系统经过试运行后即可投入正式运行。

在数据库系统运行过程中必须不断地对其进行评价、调整与修改。

需要指出的是,这个设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程。

在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计。

事实上,如果不了解应用环境对数据的处理要求,或没有考虑如何去实现这些处理要求,是不可能设计一个良好的数据库结构的。

如下图1-4-11.5课程设计任务创建维护的数据库设计就是把所学原理,方法应用到数据库课程设计中去本次课程设计任务,选择应用领域的数据库的设计经过需求分析,概念设计,逻辑设计,物理设计,数据库实现等阶段的训练,复习,巩固理论课的方法和技术,在数据库的设计应用中,经过初步的综合训练第二章 概念结构设计引言:本章采用E-R 方法设计数据库的概念数据模型初步了解应用领域的业务处理需求,注意分析提取各种业务所依赖的信息类型,区分信息类的性质即区分基本实体信息类和联系实体信息类和再生实体信息类。

本章注重基本实体信息类和联系实体信息类,用E-R 图注明数据类型和数据关系,E-R 图是概念设计的最终成果,是逻辑设计的依据,对数据库的影响很大 一般方法:总结E-R 方法,如何设计概念模型的一般方法E-R 方法是在初步业务处理调查的基础上分析提取出每个业务依赖的信息类 综合出各业务领域信息类的结合,消除重合,消除冲突(1) 对应用领域数据库概念模型设计方法的分析和对策(2) 分析对策:当应用领域范围较大时,按照业务主题分别设计主题相关 子E-R 图,当子E-R 图正确后,通过E-R 图的综合集成,消除冲突,重合,得到最终的E-R 图。

1.E-R 模型的基本元素E-R 模型的基本元素包括实体、联系和属性,图2-4显示了它们的图形符号。

图2-4 E-R 模型基本元素的图形符号(1)实体:在E-R 图中用矩形表示,并将对实体的命名写于矩形中。

(2)属性:在E-R 图中用椭圆表示(对于多值属性用双椭圆表示),并将对属性的命名写于其中。

(3)联系:用来标识实体之间的关系,在E-R 图中用菱形表示,联系的名称置于菱形内。

需要说明的是,除了实体具有若干个属性外,有的联系也具有属性。

实体 属性 联系多值属性在E-R 图中,除了上述三种基本的图形之外,还有将属性与相应的实体或联系连接起来以及将有关实体连接起来的无向边。

另外,在连接两个实体之间的无向边旁还要标注上联系的类型(1:1,1:n 或m:n )。

例如图2-5为表示部门和部门主任之间联系的E-R 图。

图2-5 部门和部门主任之间联系的E-R 图在E-R 图中,加下划线的属性(或属性组)表示实体的码,如图2-5中,部门编号是部门实体的码,人员编号是部门主任实体的码。

例2.1 现有图书管理的信息如下:图书信息包括:书号、书名、作者、出版社、所属类别、单价。

出版社信息包括:社号、社名、地址、电话。

读者信息包括:借书证号、姓名、性别、所属院系。

一个出版社可以出版多种书籍,但每本书只能在一个出版社出版,出版应有出版日期和责任编辑。

一个读者可以借阅多本图书,一本图书可以有多个人借阅。

借阅信息包括:借书日期、还书日期。

根据以上信息,要求完成以下任务:(1)确定实体及其包含属性,以及各实体的码。

(2)确定各实体之间的联系,并设计图书管理情况的E-R 图。

解:(1)本例包括图书、出版社、读者三个实体,其中图书实体包含书号、书名、作者、出版社、所属类别、单价6个属性,其中书号为码;出版社实体包含社号、社名、地址、电话4个属性,其中社号为码;读者实体包含借书证号、姓名、性别、所属院系4个属性,其中借书证号为码。

(2)出版社与图书两个实体之间为1:n 联系,联系名为出版,该联系含有出版日期和部门主任 部门领导 部门编号 名称 地址 人员编号 1 1姓名 年龄责任编辑两个属性;读者与图书两个实体之间为m:n 联系,联系名为借阅,该联系含有借书日期、还书日期2个属性。

图书管理情况的E-R 图如图2-6所示。

图2-6 图书管理情况的E-R 图2.E-R 模型的一些变换操作用E-R 模型方法进行数据库概念设计时,有时需要对E-R 模型作一些变换操作。

(1)引入弱实体。

所谓弱实体,是指一个实体对于另一个(些)实体具有很强的依赖联系,而且该实体码的部分或全部从其父实体中获得。

在E-R 模型中,弱实体用双线矩形框表示,与弱实体直接相关的联系用双线菱形框表示(如图2-7所示)。

在图2-7中,“教师简历”实体与“教师”实体具有很强的依赖联系,“教师简历”实体是依赖于“教师”实体而存在的,而且教师简历的码从教师中获得。

因此“教师简历”是“弱实体”。

图2-7 “弱实体”示例(2)多值属性的变换。

对于多值属性,如果在数据库的实施过程中不作任何处理,将会产生大量冗余数据,而且使用时有可能造成数据的不一致。

因此要对多值属性进行变换。

主要有两种变换方法,第一种变换方法是对多值属性进行分解,即把原来的多值属性分解成几个新的属性,并在原E-R 图中用分解后的新属性替代原多值属性。

例如,对于“教师”实体,除了“姓名”、“性别”、“年龄”等单值属性外,还有多值属性“毕业院校”(如出版社 出版 出版 图书 读者1 n 责任 借阅 借书还书 n m 社号社名 地址电话 书号 书名 单价 出版社 作者 借书 证号 姓名 所属院系 性别 所属类别教师 n 经历 教师简历1图2-8所示),变换时可将“毕业院校”分解为“本科毕业院校”、“硕士毕业院校”、“博士毕业院校”3个单值属性,变换后的E-R 图如图2-9所示。

图2-8多值属性示例图2-9多值属性的变换—分解示例如果一个多值属性的值较多,在分解变换时可能会增加数据库的冗余量。

针对这种情况还可以采用另外一种方法进行变换:增加一个弱实体,原多值属性的名变为弱实体名,其多个值转变为该弱实体的多个属性,增加的弱实体依赖于原实体而存在,并增加一个联系(如图2-10中的“教育经历”),且弱实体与原实体之间是1:1联系。

相关文档
最新文档