数据库第一章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库系统原理1陈岭浙江大学计算机学院2•教材:–DatabaseSystemsConcepts6thedition–ByAbrahamSilberschatz,HenryF.KorthandS.Sudarshan–HigherEducationPress,McGraw-HillCompanies•参考书目:–DatabaseManagementSystems3rdeditionByRamakrishnanandGehrke–DatabaseSystems:TheCompleteBookByGarcia-Molina,UllmanandWidom–数据库系统概论(第四版),萨师煊王珊,高等教育出版社,2006–数据库系统原理教程,王珊陈红,清华大学出版社,2003–数据库课程设计,陈根才孙建伶林怀中周波,浙江大学出版社,2007(实验参考书)引论3数据库系统目的数据视图数据模型数据库语言数据库管理员数据库用户事务管理存储管理数据库体系结构数据处理和管理是计算机应用最重要的领域,数据库系统的知识对于计算机学者至关重要。数据库涉及社会生活的方方面面:银行业:所有交易航空公司:预订,时间表大学:注册,成绩销售:客户,产品,购买制造业:生产,库存,订单,供应链电子政务,电子商务,……你可能学习了很多课程,但数据库系统能够让你找到一份好工作数据库系统目的4图灵奖获得者51998,JamesGray——事务、锁、日志和二阶段提交1981,EdgarF.Codd——关系数据库1972,CharlesW.Bachman——网状数据库我们将从以下三方面学习数据库相关知识:数据库模型与设计从现实生活中抽象出数据模型,再将其转换为适合目标DBMS(数据库管理系统)的形式:表、视图。编程:使用数据库查询、更新数据(SQL)数据库管理系统实现数据库管理系统的工作机制及设计学些什么?6学生分数表的设计7这张表的设计好吗?为什么?学号姓名专业DB平时DB期末DB总评成绩OS平时OS期末OS总评成绩3023001093黄毅照混合班859590853011112340周朝威计算机科学与技术809085883020621034徐鑫计算机科学与技术909090853020831035薄延嵩计算机科学与技术708075903021131123胡俊计算机科学与技术707070753022112002蒋永丽计算机科学与技术809085803022112003顾娉娉计算机科学与技术90909085另外一种表的设计8SidSnameSsexSageSpecialty3023001093黄毅照M21No3011112340周朝威F20Cs3020621034徐鑫M18Cs3020831035薄延嵩M19Cs3021131123胡俊F22CscidCnamecredit1DB42OS53English44Math4sidcidgrade1grade2grade330230010931903023001093285302062103419030208310351753021131123275StudentsCoursesEnrolled这种表的设计好吗?为什么?数据库访问9方法1:利用数据库管理系统提供的交互工具访问数据库如:MySQLWorkBench,SQLServer查询分析器,ORACLESql*Plus,WorkSheet数据库访问10方法2:利用开发工具设计界面、处理数据,调用ODBC等接口访问数据库,如:ASP,JSP,VC++,PHP,PowerBuilder,Delphi数据库与数据库管理系统定义11数据库(DB)与企业相关的数据集合具有完整性和持久性的数据集合。[R.Ramakrishnan,J.Gehrhe]长期(常常多年)存在的信息集合。[Ullman]长期存储在计算机内,有组织的,可共享的数据集合。[萨师煊,王珊]数据库管理系统(DBMS)数据库+一组用以访问、更新和管理这些数据的程序DBMS的主要特性12数据访问的高效和可扩展性缩短应用开发时间数据独立性(物理数据独立性/逻辑数据独立性)数据完整性和安全性并发访问和鲁棒性(恢复)DBMS的发展历史13Fileprocessingsystem(1950s-1960s)NetworkandhierarchicalDBMS(1960s-1970s)网状数据模型、层次数据模型-网状数据库、层次数据库(结构复杂、使用很困难)Relationaldatabasesystems(RDBMS)关系模型(1970,E.F.Codd)RDBMS开始发展(1970s)RDBMS走向市场(1980s)RDBMS技术成熟(1990s)DBMS的发展历史14面向对象数据库系统:Object-orienteddatabasesystem(OODBMS)对象关系数据库系统:Object-relationaldatabasesystems(ORDBMS)面向应用数据库系统:Application-orienteddatabasesystems空间、时间、多媒体、网络数据库数据仓库(DataWarehousing)、联机分析处理(OnlineAnalyticalProcessing)、数据挖掘(DataMining)DatabaseSystemsVSFileProcessingSystems15文件处理系统由传统操作系统所支持:随着需求的增长,需要编写新的应用程序,并创建新的数据文件但在相当长的时间内,数据文件可以是不同的格式。数据文件是相互独立的在文件处理系统中存储组织信息的主要弊端:数据冗余和不一致–多种文件格式、信息重复存储数据访问困难–需要编写一个新的程序来完成每一个新的任务数据孤立–多文件多格式,检索、共享数据困难DatabasesystemsVSFileProcessingSystems16在文件处理系统中存储组织信息的主要弊端:完整性问题–完整性约束(如账户余额0)成为程序代码的一部分–增加新的约束或更改现有的约束很困难原子性问题–在进行部分数据更新时,一旦发生故障,可能导致数据库处于不一致的状态–例如,从一个账户转移资金到另一个账户,此操作要么完成,要么根本不会发生并发访问异常–为了提高系统的总体性能,许多系统允许并发访问–不受控制的并发访问可能导致数据不一致–例如,两个用户读取同一账号余额,并在同一时间更新它DatabasesystemsVSFileProcessingSystems17在文件处理系统中存储组织信息的主要弊端:安全性问题–并非所有用户都可以访问所有数据数据库系统为以上所有问题,提供了解决方案DBMS的市场18关系数据库管理系统的公司:甲骨文(Oracle)、SAP(Sybase):最大的数据库软件公司之一IBM(DB2):世界上最大的DBMS供应商之一微软的SQL-Server以及Access:精简、相对便宜关系数据库公司也面临“面向对象DB”公司的挑战“对象-关系”系统,保留了核心的关系模型,同时允许类型扩展为面向对象的系统其他数据库产品:Ingres,Paradox,Foxbase,FoxPro,dBase,…DBMS的市场19开源数据库系统:MySQL:是网站上小型系统最流行的开源数据库–MySQL是LAMP的重要组成部分(Linux,Apache,MySQL,PHP/Perl/Python),一个快速增长的开源企业软件堆栈–PostgreSQL:是一个高度可扩展的,开放源码的对象关系型数据库管理系统。–最初由加州大学伯克利分校计算机系开发的“Postgres”–如何使用数据库系统:不同的用法需要不同层次的抽象(如,学生成绩管理系统)物理层:描述数据实际上是怎样存储的逻辑层:描述数据库中存储什么数据及这些数据间存在什么关系–如,typeinstructor=recordID:char(5);name:char(20);dept_name:char(20);salary:numeric(8,2);end;视图层:应用程序能够隐藏数据类型的详细信息。视图也可以出于安全目的隐藏数据信息(例如,员工的薪水)数据视图21数据抽象的三层结构:实例和模式22类似编程语言中的类型(types)和变量(variables)类型模式,变量实例模式(Schema):数据库的总体设计类似于程序中变量的类型信息物理模式:在物理层描述数据库的设计逻辑模式:在逻辑层描述数据库的设计实例(Instance):特定时刻存储在数据库中的信息的集合类似于程序中变量的值数据库系统的模式结构23模式123子模式3外模式2外模式1应用A应用C应用D应用B内模式外模式/模式映象模式/内模式映象数据库AbovethewaterBelowthewaterPhysicallevelLogicallevelViewlevel物理独立性和逻辑独立性24修改一层的结构定义不影响更高层的结构定义物理数据独立性:修改物理结构而不需要改变逻辑结构的能力应用程序依赖于逻辑结构应用程序独立于数据的结构和存储这是使用DBMS最重要的好处逻辑数据独立性:数据逻辑结构的改变不影响应用程序逻辑数据独立性一般难以实现,因为应用程序严重依赖于数据的逻辑结构数据模型25数据模型是一个概念工具的集合,用于描述:数据结构数据关系数据语义数据约束数据抽象的不同层次需要不同的数据模型来描述:实体-关系模型关系模型其他模型:–面向对象模型–半结构化数据模型(XML)–早期模型:网状模型和层次模型…数据库设计过程:需求分析概念设计逻辑设计……数据库设计步骤261.需求分析–需要什么样的数据、应用程序和业务2.概念数据库设计–使用E-R模型或类似的高层次数据模型,描述数据3.逻辑数据库设计–将概念设计转换为某个DBMS所支持的数据模型4.结构优化–关系标准化,检查冗余和相关的异常关系结构5.物理数据库设计–索引,集群和数据库调优6.创建并初始化数据库&安全设计–加载初始数据,测试–识别不同的用户及他们的角色数据库设计步骤27面向对象模型--非关系模型--层次模型网状模型现实世界概念模型(数据模型)逻辑模型物理模型信息世界E-R图关系模型(表结构)物理存储结构1968,IBMIMS树型结构(除根结点外,每个结点有且只有一个双亲结点)DBTG模型|CODASYL系统网状结构(一个结点可有多个双亲,允许多个结点无双亲)HoneywellIDS/2,HPimage机器世界实体–联系模型28E-R(Entity–Relationship)模型实体(对象)例如,客户、帐户、银行分支机构实体由属性描述联系:是几个实体之间的关联例如,帐号A-101是由客户Johnson拥有,联系设定存款关联客户的帐户E-R模型数据库设计中使用广泛ER模型通常将数据库设计转化为关系模型的设计最早由PeterChen提出EntityAttributeAttributeRelationship实体–联系模型29实体-联系模型示例:关系模型30将E-R图转换为关系模式在关系模型中,表格数据的示例:customer-namecustomer-idcustomer-streetcustomer-cityaccount-numberJohnsonSmithJohnsonJonesSmith192-83-7465019-28-3746192-83-7465321-12-3123019-28-3746AlmaNorthAlmaMainNorthPaloAltoRyePaloAltoHarrisonRyeA-101A-215A-201A-217A-201AttributesTuple元组Cus

1 / 50
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功