第一章 数据库概述

一、四个基本概念

1、数据(Data):数据是描述事物的符号记录。

种类:文本、图形、图像、音频、视频等

特点:数据与语义不可分割,数据是有结构的

2、数据库(DBDatabase):长期储存在计算机内、有组织、可共享的数据集合

3、数据库管理系统(DBMSDatabase Management System):对数据库中的数据进行存储和管理的软件系统。

例如:DbaseOraclemysqlsql server

功能:

  • 数据定义功能——提供数据库定义语言(DDL
  • 数据组织、存储和管理
  • 数据操纵功能——提供数据操纵语言(DML)进行基本操作
  • 数据事务管理和运行管理

4、数据库系统(DBSDatabase Application System

由数据库、数据库管理系统、应用系统、数据库软硬件支撑环境、数据库管理员和用户构成

二、数据管理技术的发展过程

人工管理阶段:没有磁盘、操作系统,只能计算、无法存储结果

文件系统管理阶段:出现操作系统(文件系统),可以存储计算结果

数据库管理阶段:大容量、大规模、数据共享

 

三、数据独立性

逻辑独立性:当表达现实世界的信息内容发生变化时,不影响应用程序特性(增加删除信息)

物理独立性:当数据的存储位置或存储结构发生变化时,不影响应用程序的特性(存放位置)

四、数据库系统的组成

狭义:数据库、数据库管理系统、数据库应用系统

广义:数据库、数据库管理系统(核心)、数据库应用系统、人员(数据库管理员、系统分析员和数据库设计员、程序员)、软硬件、用户

 


 

第二章 数据库系统结构(内部结构)

一、信息与数据

1、信息:从数据中获得的有意义的内容(人脑对现实世界事物的存在方式、运动状态以及事物之间联系的抽象反应)。

2、数据:描述事物的符号记录。

数据语法:数据的格式

数据语义:数据含义。数据赋予不同语义有不同解释。

表现形式:数字、文字、图像、声音等。

3、数据静态特征:

l 数据基本结构

l 数据的联系

l 数据取值范围的约束

动态特征:对数据的操作(查询、插入删除更新)以及操作规则

对数据的静态特征和动态特征的描述称为数据模型三要素。

3、数据与信息的区别和联系:

数据是信息的符号表示;

信息是对数据的语义解释。

信息=数据+语义  数据+数据处理=信息

二、概念层数据模型(概念模型)

现实世界:由客观存在的事务及其联系组成。如:学生选修课程。

信息世界(概念世界):对客观事物及联系的一种抽象描述。如:学生信息、教师信息

计算机世界(数据世界):对信息世界中信息的数据化。

1、从数据的语义视角抽取模型,按照用户的观点对数据和信息建模。是现实世界到信息世界的抽象。

与具体的DBMS无关,与具体的实现方式无关

常用模型:实体联系模型、语义对象模型

2、实体联系模型

 

 

 

 

1)实体:客观存在并可以相互区别的“事物”。可以是具体的人事物,又可以是抽象的事件。

用矩形框表示,框内写明实体名。

2)属性:实体所具有的特征或特质。用椭圆形表示,用无向边与其对应实体连接

3)联系:数据之间的关联集合

用菱形表示,框内写明联系名,用无向边与有关实体连接,并在边旁标上联系的类型(1..11…nm…n)。

联系种类:

一对一(11)              一对多(1n)    多对多(mn

 

 

 

ER 模型转换为关系模式的原则:

一对一:遇到一对一关系的话,在两个实体任选一个添加另一个实体的主键即可。

一对多:遇到一对多关系的话,在多端添加另一端的主键。

多对多:遇到多对多关系的话,我们需要将联系转换为实体,然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上该联系自身带的属性即可。

三、组织层数据模型(组织模型)

从数据的组织层次来描述数据

根据数据组织方式分,分为:非关系模型(层次模型、网状模型)、关系模型、面向对象模型、对象关系模型

关系模型概述:

(一)关系数据结构

关系:满足以下性质的二维表

l 关系表中的每一列都是不可再分的基本属性

l 表中行、列次序不重要

关系数据模型:用关系(二位表格数据)表示实体和实体关系之间联系的模型。

元组:表中的一行为一个元组,相当于一个记录值

属性:表中一列是一个属性,属性名称即属性名

分量:元组中的每一个属性值称为元组的一个分量。n元关系的每个元组有n个分量。

域:属性的取值范围。如性别的域为:(‘男’,‘女’)

候选码:能够唯一标识关系中的一个元组的一个属性或最小属性组。

主码:指定候选码中的一个作为主码

主属性:包含在任一候选码中的属性

非主属性:不包含在任意候选码中的属性

关系模式:二维表的结构(表框架或表头结构)。即:关系名R(属性A1,属性A2)例如:学生关系模式:学生(学号、姓名、性别、年龄)

 

 

 

关系模式与关系:

关系模式是型,对关系的描述,静态的、稳定的

关系是值,关系模式在某一时刻的状态或内容,是动态的、随时间变化的

(二)关系操作

1、符号

 

 

 

 

2、传统的关系运算:

1)并                                                (2)交

 

 

 

   

 

 

(3)差                                                                                                                                   (4)笛卡尔积

 

 

 

                 

 

 

3、专门的关系运算

1)选择(从行的角度)                           (2)投影(从列的角度) 

 

 

 

 

    

 

  (3)连接

             

 

 

 

 

 

 

 

 (4)除(行和列)

 

 

 

(三)数据完整性约束

数据完整性是指数据库中存储的数据是有意义的或正确的。

1)实体完整性:每个元组都是可识别的和唯一的(主键非空)

表中不允许存在:无主码值的记录、主码值相同的记录

2)参照完整性:描述多个实体之间的联系,一般用外码实现。(外码要么为空,要么为被参照表的主码)

外码:取作子表(本表)属性之一的主表(外表、父表)主码。

关系R的外码或者值为空;或者等于被引用表(被参照表)中某个元组的主码值

外码可以有重复值

(3)用户定义的完整性(域完整性、语义完整性):用户定义应遵循的约束条件

四、数据库系统的结构

(一)内部体系结构

DBMS来看,采用三级模式结构

 

 

 

1、外模式(External Schema

又称为子模式或用户模式,数据库用户能看到并允许使用的局部数据的逻辑结构和特征的描述,局部逻辑结构。

外模式是模式的的子集,可有多个。

介于概念模式与应用系统之间,模式与外模式:一对多。外模式与应用:一对多(应用程序基于外模式)。

2、模式(Schema

又称为概念模式或逻辑模式。是对数据库中全体数据的逻辑结构和特征的描述,是数据库的整体逻辑。

作用:

对下层,不涉及数据的物理存储细节和硬件环境

对上层,与具体的应用程序、程序开发工具和程序设计语言无关

一个数据库只有一个模式

3、内模式(Internal Schema

又称为存储模式或物理模式,处于最内层。是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

一个数据库只有一个内模式。

小结:一个数据库系统,实际存在的只是物理级数据库,即内模式是数据访问的基础。

用户根据外模式进行的操作,通过外模式到模式的映射与概念级数据库联系起来,又通过模式到内模式的映射与物理界数据库联系起来。

(二)二级映像

保证了数据的逻辑独立性和物理独立性。

外模式/模式映像:保证了数据与程序间的逻辑独立性。即当模式改变时,通过修改此映像,使外模式保持不变,应用程序依赖于外模式,从而应用程序不必修改。(如增加或删除了某些字段)

模式/内模式映像:保证了数据的物理独立性。即当数据库的存储结构改变了,通过修改此映像使模式不变,应用程序不受影响。(如从链表存储改为了哈希表存储)

(二)外部体系结构

从最终用户角度来看:

单用户结构数据库系统:应用程序、DBMS和数据库装在一台计算机,一个用户独占使用。

主从式结构:大型主机带多个终端的多用户结构。

分布式结构:数据库分布存储在不同计算机,逻辑上整体。

客户/服务器结构:服务器和客户机分开。

浏览器/服务器结构:客户通过浏览器


 

第三章 SQL语言基础

一、基本概念

SQL:结构化查询语言,是关系数据库的标准语言。

SQL功能

命令动词

数据定义语言(DDL

Createdropalter

数据库查询语言(DQL

select

数据库操纵语言(DML

Insertupdatedelete

数据库控制语言(DCL

Grantrevoke

 

基本表:独立存在的表,SQL中一个关系对应一个基本表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引。

视图:从一个或多个基本表中导出的虚表,数据库中只存放视图的定义。用户可以在视图上在定义视图。

存储文件:逻辑上组成了内模式,物理上是任意的,对用户透明。

索引:为快速访问数据,在包含数据的表由增加的一种组织。分为聚簇索引和非聚簇索引。

聚簇索引:索引项顺序与基本表中记录的物理顺序一致的索引结构。

二、SQL的数据类型 

1、数值型                                                                                      2、日期时间型                                                 

 

 

 

 

   3、字符串型

 

 

 

 三、数据定义功能

1、定义基本表

 

 

 

列级完整性约束:

Not null:列取值非空——name char(10) not null

Default:给定列的默认值

Unique:限制列取值不重复

Check:限制列的取值范围

Primary key:主码——sno char(7) primary key / primary key(sno,cno)

Foreign key:外码——foreign key(sno) references 学生表(sno)

Not nulldefault只能是列级完整性约束,其他约束可以在表级完整性约束处定义。

例:创建学生课程成绩表

 

2、删除表

Drop table 表名

3、修改表结构

 

 

 

四、数据完整性

1、完整性约束条件的作用对象有表、元组和列。

列级约束:对列的数据类型、取值范围、格式、精度等约束。

元组约束:元组中各个字段之间的相互约束。例如:开始日期小于结束日期。

关系元组:若干元组之间、关系之间的联系的约束。例如:学号不重复。

1、实现约束

(1)PRIMARY KEY约束

每个表有且只有一个,保证实体完整性

Alter table 表名 add [constraint 约束名] primary key(列名)

Alter table 雇员表 add constraint PK_EMP primary key(雇员编号)

(2)UNIQUE约束

保证列不输入重复值,用于唯一性质的列上,例如身份证号等。

Alter table 雇员表 add constraint UK_SID unique(电话号码)

(3)FOREIGN KEY约束

外码,加强联系

Alter table 雇员表 add constraint FK_job_id foreign key(工作编号) references 工作表(工作编号)

(4)DEFAULT约束

为列提供默认值,一个default只能约束一列

Alter table 雇员表 add constraint DF_SALARY default 1000 for 工资

(5)CHECK约束

限制列的取值

Alter table 雇员表add constraint CHK_Salary check(工资>=500)

五、数据库定义与删除

 

 

 

 

  

 

原文地址:http://www.cnblogs.com/znjy/p/16789598.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性