数据库(database).ppt
《数据库(database).ppt》由会员分享,可在线阅读,更多相关《数据库(database).ppt(65页珍藏版)》请在三一办公上搜索。
1、Lecturer:周晓慧,Fundamentals of Software TechnologyPart 3 Database,assignmentp112:12,15,16,17,19p267:一.From DB to 索引 二.From 1 to 14,and 16,24,26,38,40,42 四.8.,Chapter 1 数据库管理系统的结构(Database management system architecture)一.为什么要数据库Database system versus file system数据冗余和数据不一致 文件系统存在数据冗余,从而导致数据的不一致Student
2、ID student name course score 年龄200161120 李平 C 语言 90 19200161120 李平 C+80 19200161121 张三 C 语言 65 18200161121 张三 C+78 18200161122 王五 C+88 230,数据完整性问题 文件系统不能保证数据的完整性,而存在数据库中的数据可以满足一定的约束。有三类数据完整性约束a.用户定义的数据完整性 用户要求存在数据库中的数据要满足一定的要求。For example,age must be never beyond 220。定义完age220后,在插入age数据到数据库时,数据库系统(是
3、一软件)会自动判断age是否小于220,若否,数据库系统报警,不让插入。b.实体完整性 主码不能为空,并且唯一,因为一实体表示一客观存在,该客观存在是唯一的,所以主码不能为空,并且唯一。见操作,数据完整性问题存在数据库中的数据要求满足一定的约束。c.参照完整性 主码不能为空,并且唯一,因为一实体表示一客观存在,该客观存在是唯一的,所以主码不能为空,并且唯一。见操作,一.为什么要数据库迸发操作的异常(Concurrent-access anomalies)文件系统中,当多个用户对同一数据进行迸发修改时,产生数据异常。Bus from city to city amount(票的数量)杭州 到 上
4、海 1杭州 到 北京 30Two customers read the number of tickets from Hangzhou to Shanghai is one almost in the same time.Then,each of them gets a ticket from Hangzhou to Shanghai with the same seat number.Finally,they will fight on the bus for that seat.,程序对数据的依赖(Program independent on data)文件系统中,程序与数据是不独立的。F
5、or example,fopen(c:zhouletter.doc,“rw”);文件名或文件路径发生变化,fopen的第一个参数就要重写。,迸发控制 文件系统中,多个用户对同一数据操作,数据可能产生数据不一致。如,前页PPT的例子中,系统实现卖出一张票的程序如下:amount=amount 1;/设amount的初值为8。假设有2个迸发操作,即有2位客户各买了一张票。P1 P2amount=amount 1;amount=amount 1;由于P1、P2执行顺序的问题,amount的值可能为7,6,数据恢复 文件系统中,机器突然掉电,数据可能丢失或产生数据不一致。如,超市销售:Supermar
6、ket_amount为超市的销售总金额,person_amount为个人信用卡总金额个人采购金额为:500元 则,销售程序为:.Supermarket_amount=Supermarket_amount+500;/语句 1person_amount=person_amount 500;/语句 2执行完语句1,机器突然掉电,谁吃亏了?,数据库基本概念 1.数据库(DataBase,简称DB)数据库是长期存放在计算机内、有组织、可共享的数据集合,可供多用户共享,数据库中的数据按一定的数据模型组织、描述和储存,具有尽可能小的冗余度和较高的数据独立性和易扩展性,并可为各种用户共享。,2.数据库管理系统
7、(DBMS)是软件,如ORACLE、SQL-SERVER、ACESS等 数据库系统的核心组成部分,对数据进行管理的软件。主要功能:数据定义:对数据库中的数据对象(包括表、视图、索引等)进行定义。数据操纵:对数据库操作查询插入删除修改等数据库的运行管理:对数据库的建立、运用和维护进行统一管理和控制 安全性控制、完整性控制、并发控制、备份与恢复数据库的建立和维护功能数据库初始数据的输入和转换功能、数据库的转储和恢复功能以及数据库重组织功能和性能监视、分析功能等。,3.数据库应用系统在计算机系统中引入数据库后的系统构成 组成:数据库(及相关硬件)、数据库管理系统及开发工具、应用系统、数据库管理员和用
8、户等。数据库管理员(DataBase Administrator,简称DBA),数据库应用系统 示意图,数据库在计算机系统中的地位示意图,table studentsStudent ID student name age sex200161120 李平 19 male200161121 张三 18 female200161122 王五 230 maletable coursesCourse ID course prerequisite 0001 C 语言 0002 C+table student_courseStudent ID Course ID score 200161120 0001 9
9、0 200161120 0002 80 200161121 0001 65 200161121 0001 78,4.数据库应用系统的结构(Architecture),5.数据库系统结构,数据库的三级模式结构,数据库系统体系结构集中式数据库系统:数据是集中的,数据的管理也是集中的 客户/服务器数据库系统:数据是集中的,应用分布分布式数据库系统:数据分布、应用分布,分布式数据库系统,客户/服务器数据库系统,数据模型(Data model):描述数据和数据间的联系(数据结构),描述的方法有:层次模型、网状模型、关系模型和面向对象的数据模型,既存在数据库中的数据是结构化的。,层次模型(树)要通过链表自
10、己确定查询路径,网状模型(图)要通过链表自己确定查询路径,table studentsStudent ID student name age sex200161120 李平 19 male200161121 张三 18 female200161122 王五 230 maletable coursesCourse ID course prerequisite 0001 C 语言 0002 C+table student_courseStudent ID Course ID score 200161120 0001 90 200161120 0002 80 200161121 0001 65 20
11、0161121 0001 78,表(用表来描述数据和数据间的联系)DBMS会确定查询路径,模式(Schema):描述整个数据库的结构(对关系数据库而言,所有表的表定义,e.g.table students,course,and students_courses).子模式(Subschema):portion of the database pertinent to a particular users needs.What Program developers see the schema,e.g.maybe portion of the a table.物理模式(Physical schem
12、a):存储模式(Stored schema),designed by DBA(database administrator).Application developer and user dont know where and how schema stored in the disk.,数据的独立性(Data independency)当数据库中的模式或物理模式发生变化时,程序不变或变化很少。(When the schema or physical schema changed,but the programs are not changed or changed a little).逻辑独
13、立性(Logical independency)当数据库中的模式变化时,子模式不变或变化很少,从而基于子模式的程序不变或变化很少。通过物理模式与模式之间的映射实现。(While the schema in a database is changed,but the subschema is not changed or changed a little.This leads to the programs based on the subschema not changed or changed a little.),物理独立性(Physical independency)当数据库中的物理模式
14、发生变化,但,模式不变或变化很少,从而子模式不变或变化很少,导致程序不变或变化很少。通过物理模式与模式之间的映射实现。(While the physical schema in a database is changed,but the schema is not changed.This leads to the programs based on the subschema not changed.)分布式数据库(Distributed database):a database spread over several machines in a network,6.Transaction(
15、事务)事务是原子操作(一段访问数据库数据的程序),要么这段程序全部执行完,要么一句都不执行,一保证数据库中数据的完整性。Each transaction must specify as its final action either commit(i.e.,complete successfully)or roll back(i.e.,terminate and undo all the actions carried out thus far)start transaction;my_account=my_account-200;supermarket_account=supermarket
16、_account+200;commit;if errors occur then rollback;,三.结构化查询语言SQL,SQL(Structured Query Language,结构化查询语言):国际标准数据库语言 SQL语言的基本概念及特点 SQL数据定义 SQL数据查询 SQL数据更新 SQL数据控制,1、SQL语言的基本概念及特点,SQL的发展 1986:SQL(ANSI)1989:SQL89(ISO)SQL92(SQL2)-面向关系数据库SQL99(SQL3)面向对象关系数据库SQL的特点 综合统一 高度非过程化 面向集合的操作方式 以同一种语法结构提供两种使用方式 交互式S
17、QL、嵌入式SQL语言简洁、易学易用,SQL数据库的体系结构,1、SQL语言的基本概念及特点,SQL语句类型DDL:数据定义语言定义数据库、定义表、定义索引等DML:数据操纵语言查询、插入、删除、更新DCL:数据控制语言授权,事务控制等,1、SQL语言的基本概念及特点,SQL语句汇总,1、SQL语言的基本概念及特点,2、SQL数据定义,SQL提供的基本数据类型,数值型 通常用于定义取值为数值的属性如年龄、成绩、工资等。数值型的类型名有:INTEGER 长整数(也可写成INT)SMALLINT 短整数REAL 取决于机器精度的浮点数DOUBLE PRECISION 取决于机器精度的双精度浮点数F
18、LOAT(n)浮点数,精度至少为n位数字NUMERIC(p,d)定点数,由p位数字(不包括符号、小数点)组成,小数点后面有d位数字(也可写成DECIMAL(P,d)或DEC(P,d),字符串型 通常用于定义取值为字符串的属性如学号、姓名、课程名称等。字符串型的类型名有:CHAR(n)长度为n的定长字符串VARCHAR(n)具有最大长度为n的变长字符串时间型 通常用于定义取值为日期或时间的属性如出生年月、交易时间等。时间型的类型名有:DATE 日期,包含年、月、日,形式为YYYY-MM-DDTIME 时间,包含一日的时、分、秒,形式为HH:MM:SS,SQL提供的基本数据类型,基本表创建,CRE
19、ATE TABLE(,);:所要定义的基本表的名字:组成该表的各个属性(列):涉及相应属性列的完整性约束条件,如:NOT NULL(非空)、UNIQUE(唯一性)、CHECK(条件表达式)(列取值范围)等。:涉及一个或多个属性列的完整性约束条件,如:PRIMARY KEY(定义主码)、FOREIGN KEYREFERENCES(定义外码及参照完整性)、CHECK(条件表达式)(各列上数据必须符合的关联条件)等。,样例数据库教学管理数据库,S(SNO,SNAME,AGE,SEX)(学生信息表)SC(SNO,CNO,GRADE)(学生选课表)C(CNO,CNAME,TEACHER)(课程信息表),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 database

链接地址:https://www.31ppt.com/p-6578386.html