医药数据库管理与应用知识讲解

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

医药数据库系统原理与应用

一.绪论

1.1.1数据库管理系统的概念:是一种操纵和管理数据的大型软件,用于建立、使用后人维护数据库,简称DBMS。

功能:数据定义、数据组织、数据存储、数据操纵和运行维护

1.2数据模型的分类:概念模型、逻辑模型和物理模型

数据模型的组成要素

数据模型精确的描述了系统的静态特征、动态特征和完整性约束条件,由数据结构、数据操作和完整性约束三部分组成。

E-R模型:两个实体之间的联系可分为三种一对一、一对多、多对多。(分别会画)

1:1联系1:n联系m:n联系

1.3三级模式结构

数据库系统的三级模式结构包括外模式、内模式、模式

二级映像

(1)外模式|模式映像:模式描述的是数据库的全局逻辑结构,外模式描述的是局部数据的逻辑结构。一个模式对应多个外模式,每个外模式都有一个外模式|模式映像。外模式|模式映像一般放在外模式中描述。

(2)模式|内模式映像:数据库中只有一个模式,也只有一个内模式,因此模式|内模式映像是唯一的,它表达了数据全局逻辑结构与存储结构之间的对应关系。,如逻辑记录和字段在内部是如何储存的。模式|内模式映像一般是放在模式在模式中描述的。

数据的独立性

(1)数据的地逻辑独立性

(2)数据的物理独立性

二、关系模型与关系代数

2.3实体完整性的规则

(1) 实体完整性的规则针对基本关系。一个基本关系表通常对应一个实体集,例如医生关系对应医生集合;

(2)现实世界中的实体是可以区分的,它们具有一种唯一性标识。例如:医生的ID,病人的ID等。

(3)在关系模型中,主关键字作为唯一的标识,且不能为空。

参照完整性

现实世界中的实体与实体之间往往存在某种关系,当用关系来表示实体与实体之间的联系时,关系之间的相互引用是必然的。

用户自定义的完整性

任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,关系数据库系统根据现实世界中的环境不同,往往还需要另外的约束条件。用户自定义的完整性

就是针对某一具体要求来定义的约束条件,它反应某一具体应用所涉及的数据必须满足的语义要求。

传统的集合运算是二目运算,包括交、并、差、广义笛卡尔积四种运算。

三、SQL语言

SQL的特点

1.综合统一

2.高度非过程化

3.使用方式灵活

4.语言简洁,易学易用

完整性约束条件

1.NULL|NOT NULL 约束:表面相应列是否允许空值

2.PRIMARY KEY约束(主键约束):用于定义基本表的主键,其唯一标示作用。主键可以是某一列,也可以是多列的组合。一个基本表只能有一个主键,对于指定的PRIMARY KEY 地一个列或多个列的组合,其中任何一个列都必须定义为NOT NULL。

3.CHECK约束:用来检查字段值所允许的范围

4.FOREING KEY (外键约束):用于定义基本标的外键,建立两张表之间的联系。

用SQL语言定义如下

医生表(Doctor)

CREATE TABLE Doctor(

dID CHAR(6)PRIMARY KEY,

dName CHAR(10),

Titie CHAR(10),

Department CHAR(10),

Assistant CHAR(6)

);

病人表(Patient)

CREATE TABLE Patient(

pID CHAR(6)PRIMARY KEY,

pName CHAR(10),

Sex CHAR(2),

Job CHAR(30),

Tel CHAR(6),

Birth Datetime,

CHECK (Sex in('男','女'))

);

就诊总费用表(CureFee)

CREATE TABLE CureFee(

pID CHAR(6)NOT NULL,

dID CHAR(6)NOT NULL,

Fee Int check(Fee>=0),

PRIMARY KEY(pID,dID),

FOREIGN KEY(pID)REFERENCES Patient(pID),

FOREIGN KEY(dID)REFERENCES Doctor(dID)

);

例3.5 在医生表Doctor中增加“性别”“简介”列,其数据类型均为字符型。ALTER TABLE Doctor

ADD sex CHAR(2)CHECK(sex in('男','女')),introduction CHAR(30);

例3.12 为Patient表的Sex列建立默认约束,默认为“男”

ALTER TABLE Patient

ADD CONSTRAINT DF_Patient_Sex DEFAULT '男'FOR Sex;

1.索引的分类(重点在英文)

在创建索引前,必须确定要使用的列和要创建的索引类型。

(1)唯一索引( UNIQUE):每一个索引值只对应唯一的数据记录。系统在创建该素引时3.4单表

检查是否有重复的键值,并在每次便用 INSERT或 UPDATE语句添加数据时进行检查。如要使用此选项,则则应确定索引所包含的列均不允许NUIL值,否则在使用时会经常出错。(2)聚集索引( CLUSTERED):也称聚簇索引。创建聚簇索引时,需要对已有表数据重新进行排序(若表中已有数据),即删除原始的表数据后再将排序结果按物理序插回,故聚索引建立完毕后,建立聚簇索引的列中的数据已经全部按序排列,排列的结果存储在表中。个表中只能包含一个聚簇索引,但该索引可以包含多个列。

(3)非聚集索引( NONCLUSTERED):也称非聚簇索引。索引与数据存放在不同的物理区城,建立非聚集索引时数据本身不进行排序,即排列的结果不存储在表中。一个表中可以建立

多个非聚簇索引。

(4)复合索引:将两个或多个字段组合起来建立的索引,单独的字段允许有重复的值

需要注意的是,建立索引的目的是加快对表中记录的查找或排序。同时,为表设置索引是要付出代价价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间

(因为索引也要随之变动)。用户可以在最常查询的列上建立聚集索引,以提高查询效率。但

对于经常更新的列不宜建立聚集索引。

例3.28 查询姓刘的医生的基本信息

SELECT*

FROM Doctor

WHERE dNAME LIKE'刘%';

例3.33 查询没有提供电话的病人的姓名、性别、职业。

SELECT pNAME,Sex,Job

相关文档
最新文档