管理信息系统
实验1 数据库设计与实现
目的和要求
1. 根据实际场景,设计E-R模型;
2. 将E-R模型转换为数据库表;
3. 在Sql Server2000上实现数据库
4. 理解SQL语言
背景知识
E-R模型设计
1.E-R模型简介
E-R模型(Entity Relationship Model,实体联系模型)是P.P.Chen于1976年提出的。这个模型直接从现实世界中抽象出实体类型及实体间联系,然后用实体联系图(E-R图)表示数据模型。
E-R图中有下面四个基本成分:
(1)矩形框,表示实体类型;
(2)菱形框,表示联系类型;
(3)椭圆形框,表示实体类型或联系类型的属性;
(4)直线,用来连接实体与属性、联系与属性,联系与其涉及的实体,并在直线端部标联系的类型(1:1,1:N或M:N)。
2.E-R图的建立过程
(1)首先确定实体类型。
(2)确定联系类型。
(3)将实体类型和联系类型组合成ER图。
(4)确定实体类型和联系类型的属性,并为实体类型确定能唯一确定实体的实体标识符(标记为在该属性下面划线)。
示例1:根据下面语义设计ER模型。
管理信息系统
某单位有多个职工,每个职工只能参加一个工程项目,但一个工程项目中可以有很多职工参与;有多个供应商为各个工程项目供应不同零件。
分析:
(1) 本问题有四个实体类型:职工,工程项目,供应商,零件。
(2) 实体之间的联系类型:工程项目与职工是1:N联系,工程项目与零件是M:N
联系,供应商和设备是M:N联系。
(3) 组合成ER图。如图1-1所示。
(4) 确定属性。职工的属性有:职工编号,职工姓名,性别,出生年月,职工
编号为标识符。零件的属性有:零件编号,零件名称,颜色,重量,零件
编号为标识符。工程项目的属性有:项目编号,项目名称,项目开工日
期,项目编号为标识符。供应商的属性有:供应商编号,供应商名称,地
址,供应商编号为标识符。
参与联系的属性是某职工在某工程项目中的担任职务。使用联系的属性是某
项目需要某零件的数量。供应联系的属性是某供应商供应某程零件的数量。
注:如果ER图比较复杂,也可以将属性单独以文字的方式加以说明。
图1-1 ER图实例
管理信息系统
ER模型转换为数据库表
ER模型中的主要成分是实体类型和联系类型,转换规则就是如何把实体类型、联系类型转换成关系模式(即表)。
1.实体类型的转换:将每个实体类型转换成一个表(关系模式),实体的属性即为表的属性,实体标识符即为表的键。
2.联系类型的转换:根据联系的类型所不同的处理。
(1)1:1的联系:在联系的两个实体类型转换成的表中的任意一个表的属性中加入另一个表的键和联系类型的属性。
(2)1:N的联系:在N端实体类型转换成的表中加入1端实体类型转换成的表的键和联系类型的属性。
(3)M:N的联系:将联系类型也转换成表,其属性为两端实体类型的键加上联系类型的属性,而联系类型生成的表的键为两端实体键的组合。
示例1的ER模型转换成数据库表时,四个实体“职工”、“零件”、“工程项
目”和“供应商“分别转换为四个表,工程项目与职工的1:N联系通过将N端的工程项目的键“项目编号”加入1端的职工表实现,“使用”与“供应”两个联系为M:N的联系,则分别转换成表。转换后的表为: 职工表(职工编号,职工姓名,性别,出生年月,项目编号) 零件表(零件编号,零件名称,颜色,重量) 工程项目表(项目编号,项目名称,项目开工日期) 供应商表(供应商编号,供应商名称,地址) 使用表(项目编号,零件编号,数量) 供应表(零件编号,供应商编号,数量)
SQL语言
结构化查询语言(SQL)是在多数数据库环境下使用的标准的第四代查询语言。
1. SQL组成
(1)SQL DDL:数据定义。用于定义SQL模式、基本表、视图和索引。
管理信息系统
(2)SQL DML:数据操纵。分为数据查询和数据更新,数据更新又分为插入、删除和修改三种操作。
(3)SQL DCL:数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制语句等。
(4)Embedded SQL:嵌入式SQL,涉及到SQL语句嵌入在宿主语言程序中的使用规则。
日常使用较多的语句是数据操纵,下面介绍的也是数据查询和数据更新语句。
2. 数据查询
SQL的数据查询是使用最广泛的语句,而且查询语句只有一条SELECT语句,功能大常强大。其基本语法格式为:
Select 字段名表
From 表名
WHERE <条件表达式>
在SELECT之后要列出待查询的字段名称,FROM之后要指明使用哪些逻辑关系,WHERE后面描述选择的条件。
示例:
1.查询参与工程编号为“P03”的职工的姓名与性别。
Select 职工姓名,性别
From 职工表
Where 工程编号=’p03’
2. 查询供应了红色零件的供应商的姓名和地址。
Select 供应商姓名,地址
From 供应商表,零件表,供应表
Where 供应表.供应商编号=供应表.供应商编号 and
零件表.零件编号=供应表.零件编号
3. 数据插入
数据插入的语法结构为:
管理信息系统
insert into 表名(列名表) values(元组值)
示例:
向职工表中插入一条记录(’a09’,’张天一’,’男’,’1978-01-02’,’P02’),则插入的语句为:
insert into 职工表(职工编号,职工姓名,性别,出生年月,项目编号)
values(’a09’,’张天一’,’男’,’1978-01-02’,’P02’)
4. 数据删除
数据删除的语法结构为:
delete from 表名 where <条件表达式>
示例:
将所有参加项目编号为’p05’的职工删除,则删除的语句为:
delete from 职工表 where 项目编号=’p05’
5. 数据更新
数据更新的语法结构为:
update 表名 set 列名=值表达式[,列名=值表达式…]
[where 条件表达式]
示例:
所有女性职工都参加项目编号为p10项目,也就是将所有女职工的项目编号改为p10,更新语名为:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说高考高中实验1 数据库设计与实现在线全文阅读。
相关推荐: