01introduction_第1页
01introduction_第2页
01introduction_第3页
01introduction_第4页
01introduction_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1王岩王岩Principles of Database Systems 2Welcome to this course!Course information3About this course-bilingual(双语双语)n采用双语教学,具体做法是:n英文版教材+ 中文版教材n多媒体教学,幻灯片以英文为主。为帮助大家理解,重要章节:补充中文内容和中文幻灯片n双语教学的目的:n接触国外优秀原版教材n提高计算机英语水平,提高原版资料的阅读能力 4nText book and main references:nText book :nDatabase system conceptsn数据库系统概念

2、(中文版)机械工业出版社nMain reference books :n数据库系统原理与应用(SQL Server2005),廖瑞华等编著,机械工业出版社n数据库系统概论(第四版),王珊主编,高等教育出版社About this course-Text book5About this course- Prerequisites (先修课程先修课程)nData structurenSome important concepts of Operating systemnProgramming languagesnC+nJavanDelphinASP6n校园网用户:nhttp:/202.195.128

3、.70nInternet:About this course Course website7Some QuestionsnWhat is database?nWhat is database management system(DBMS)? List some commercial DBMS?nList some database applications?nHow the database system works?nHow to design a database system?n This course will help to answer these questions. 8Cour

4、se GoalsnTo help students achieve the following:nDevelop a conceptual model of a databasenBecome familiar with a database management systemnImplement a databasenTo cover mostly relational databasesnhow to design and create such databasesnhow to use them (via SQL query language)nhow to implement them

5、 (only briefly)nTo touch on some advanced issues9About this courseCourse ContentsnIntroductionnEntity-Relationship Model(E-R 模型)nRelational Model(关系模型)nSQL(结构化查询语言)nIntegrity and Security (完整性和安全性)nRelational Database Design (关系数据库设计)nStorage and Indexing (数据库存储和索引)10About this courseCourse Contents

6、nQuery Processing and Optimization(查询处理和优化)nTransactions (事务)nConcurrency Control (并发控制)nRecovery System (数据库恢复)nDatabase System Architectures (数据库体系结构)nNew Technology in Database (数据库新技术)nSQL Server 2005(上机环境) 、Powerdesigner 11 About this course Approaches to learn this coursenAttendancenClass part

7、icipation (Answer question, discussion)nHomeworknLab programmingnProject (In group)nSelect an application that needs a databasenBuild a database application from start to finishnMini-Test(20%) and Final Exam(70%)12数据库技术的重要性数据库技术的重要性n 数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。n 经历了三代演变:层次/网状系统、关系系统、新一代数据库

8、系统家族 n造就了三位图灵奖turing award得主:C.W.Bachman、E.F.Codd和James Grayn发展了一门计算机基础学科:以数据模型和DBMS核心技术为主,内容丰富、领域宽广 n形成了一个巨大的软件产业: DBMS及其相关工具产品、应用解决方案 13C.W.Bachman查尔斯查尔斯巴赫曼,美国,巴赫曼,美国, 1973,网状数据库模型网状数据库模型以及数据定义(以及数据定义(DDL)和数据操纵语言(和数据操纵语言(DML)规范说明规范说明 E.F.Codd,埃德加埃德加科德,英国,科德,英国,1981,关系模型理论,关系模型理论 James Gray,詹姆斯詹姆斯尼

9、古拉尼古拉格雷,格雷,美国美国 ,1998,数据库与事务处理数据库与事务处理14Chapter 1: Introduction151 ConceptsnDatanDatabase:nDatabase management systemnDatabase system16Datan数据(DATA)n概念n描述现实世界的各种信息的符号记录n是信息的载体n是信息的具体表现形式n表现n数字n文字n图形n图像n声音17数据举例数据举例n数据:(李明,男,1972,江苏,计算机系,1990)n李明是个大学生,男,1972年出生,江苏人,1990年考入计算机系n李明是位老师,男,1972年参加工作,江苏人,

10、计算机系,1990年晋升为教授n数据的形式不能完全表达其内容,必须经过解释,数据的解释即对数据语义的说明 信息18Database(DB)nCollection of interrelated(相关)相关) data长期储存在计算机中的、有组织的、可共享的数据的集合特点按照数据模型组织较小的冗余度独立性、易扩展性可共享19Database Management System(DBMS)nCollection of interrelated(相关) datanSet of programs to access the data nDBMS contains information about a

11、 particular enterprisenDBMS provides an environment that is both convenient and efficient to use.20Database management system(DBMS)nA collection of programs that enable:nDefining (describing the structure)nConstructingnManipulating (querying, updating)nPreserving consistencynProtecting from misusenR

12、ecovering from failurenConcurrent usingThink buying a plane ticket! Can you do it without a DBMS?21DBMS的主要功能的主要功能n数据定义功能 提供数据定义语言(DDL) 定义数据库中的数据对象n数据操纵功能: 提供数据操纵语言(DML)操纵数据 实现对数据库的基本操作(查询、插入、删除和修改)22DBMS的主要功能的主要功能n数据库的建立和维护功能(实用程序) 数据库数据批量装载 数据库转储 介质故障恢复 数据库的重组织 性能监视、分析等23DBMS的主要功能的主要功能n数据库的运行管理 安全性

13、控制 完整性控制 多用户对数据的并发使用时的并发控制 24四、数据库系统四、数据库系统n数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。n数据库系统的构成n由数据库、数据库管理系统、应用系统(及其开发工具) 、数据库管理员和用户构成。25Database System(DBS)nHardware systemnSoftware systemnOS platformnDBMSnApplication systemnUsers 26Overall System Structure 27索引索引数据文件数据文件统计数据统计数据数据字典数据字典事务管理

14、器事务管理器应用程序应用程序目标代码目标代码嵌入式嵌入式DML预编译器预编译器DML编译器编译器DDL解释器解释器查询计算引擎查询计算引擎应用界面应用界面应用程序应用程序查询查询数据库模式数据库模式初级用户初级用户程序设计人员程序设计人员熟练用户熟练用户数据库管理员数据库管理员数据库管理系统数据库管理系统查询处理器查询处理器存储管理器存储管理器用户用户缓冲区管理器缓冲区管理器文件管理器文件管理器磁盘存储器磁盘存储器数据库数据库系统结构系统结构28DBMS的层次结构操作系统操作系统数据存储层数据存储层数据存取层数据存取层语言翻译处理层语言翻译处理层数据库数据库应用层应用层数据文件,数据字典,数据

15、文件,数据字典,索引,统计数据索引,统计数据缓冲区,提供数据页操作DDL,DML,查询计算引擎,提供关系、视图借口事务,日志,封锁,存取路径,提供单元组接口执行物理文件的读写操作29数据库系统的软硬件层次硬件硬件操作系统操作系统DBMS,编译系统编译系统应用开发工具软件应用开发工具软件应用系统应用系统PB,VB,VCDELPHIOracle,Db2,Sybase,SQL Server,Informix302 Database ApplicationsnBanking: all transactionsnAirlines: reservations, schedulesnUniversities

16、: registration, gradesnSales: customers, products, purchasesnOnline retailers: order tracking, customized recommendationsnManufacturing: production, inventory, orders, supply chainnHuman resources: employee records, salaries, tax deductionsDatabases touch all aspects of our lives311.2 数据库技术发展历史数据库技术

17、发展历史n数据管理技术的发展过程 在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了下面三个阶段:n人工管理阶段(40年代中-50年代中)n文件系统阶段(50年代末-60年代中)n数据库系统阶段(60年代末-现在)32一、人工管理一、人工管理n时期n40年代中-50年代中n产生的背景n应用需求科学计算n硬件水平无直接存取存储设备n软件水平没有操作系统n数据处理方式批处理33人工管理人工管理n特点 n数据的管理者:用户(程序员),数据不保存 n数据面向的对象:某一应用程序 n数据的共享程度:无共享、冗余度极大 n数据的独立性:不独立,完全依赖于程序 n数据的结构化:无结构 n

18、数据控制能力:应用程序自己控制34应用程序与数据的对应关系应用程序与数据的对应关系(人工管理人工管理) 应用程序应用程序数据集数据集应用程序应用程序数据集数据集应用程序应用程序数据集数据集n.35二、文件系统二、文件系统n时期n50年代末-60年代中n产生的背景n应用需求科学计算、数据处理n硬件水平磁盘、磁鼓n软件水平有文件系统n处理方式联机实时处理、批处理36文件系统文件系统特点特点n数据可长期保存数据可长期保存n数据由文件系统管理数据由文件系统管理n数据面向某一应用程序数据面向某一应用程序 n数据的共享性差、冗余度大数据的共享性差、冗余度大n数据记录内有结构数据记录内有结构, ,整体无结构

19、整体无结构n数据独立性差,数据的逻辑结构改变必须数据独立性差,数据的逻辑结构改变必须修改应用程序修改应用程序37应用程序与数据的对应关系应用程序与数据的对应关系(文件系统文件系统)应用程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取存取方法方法.38File System-examplesalarydepttnametnoOffice 1addressdeptsextname tnoOffice 2titlecoursedepttname tnoOffice 3titleemailagedeptsextname tnoOffice 439Drawbacks of u

20、sing file systems to store data(P3)nData redundancy (冗余性)and inconsistency(不一致性)nMultiple file formats, duplication of information in different filesnDifficulty in accessing data nNeed to write a new program to carry out each new tasknData isolation multiple files and formatsnIntegrity problems(完整性问

21、题)nIntegrity constraints (e.g. account balance 0) become part of program codenHard to add new constraints or change existing ones40Drawbacks of using file systems to store data(P3)nAtomicity of updatesnFailures may leave database in an inconsistent state with partial updates carried outne.g. transfe

22、r of funds from one account to another should either complete or not happen at allnConcurrent access(并发访问) by multiple usersnConcurrent accessed needed for performancenUncontrolled concurrent accesses can lead to inconsistenciesnE.g. two people reading a balance and updating it at the same timenSecu

23、rity problems(安全性问题)41Purpose of Database SystemsnDatabase systems will offer solutions to all the above problems42三、数据库系统三、数据库系统n时期n60年代末以来n标志:nIBM公司1968年成功研制层次数据管理系统(IMS)。n美国CODASYL(Conference On Data System Language, 数据系统语言协商会)1971年公布的DBTG报告提出网络数据库系统(CODASYL系统或DBTG系统)。n IBM公司E.F.Codd 1970发表一系列论文,

24、奠定了关系数据库系统(RDBMS)理论基础 n产生的背景n应用背景大规模管理n硬件背景大容量磁盘n软件背景有数据库管理系统n处理方式联机实时处理、分布处理43数据结构化数据结构化n整体数据的结构化是数据库的主要特征之一 n整体结构化 n不再仅仅针对某一个应用,而是面向全组织 n不仅数据内部结构化,整体是结构化的,数据之间具有联系n数据库中实现的是数据的真正结构化 n数据的结构用数据模型描述,无需程序定义和解释 n数据可以变长n数据的最小存取单位是数据项44数据的共享性高,冗余度小,易扩充数据的共享性高,冗余度小,易扩充n降低数据的冗余度,节省存储空间n避免数据间的不一致性n使系统易于扩充45数

25、据独立性高数据独立性高n物理独立性n指用户的应用程序与存储在磁盘上的数据库中数据是相互独指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变立的。当数据的物理存储改变了,应用程序不用改变。n逻辑独立性n指用户的应用程序与数据库的逻辑结构是相互独立的。指用户的应用程序与数据库的逻辑结构是相互独立的。 数据的逻辑结构改变了,用户程序也可以不变数据的逻辑结构改变了,用户程序也可以不变。n数据独立性是由DBMS的二级映像功能来保证的 46数据由数据由DBMS统一管理和控制统一管理和控制nDBMS提供的数据控制功能 n(1)数据的安全性(Security)保

26、护: n保护数据,以防止不合法的使用造成的数据的泄密和破坏。 n(2)数据的完整性(Integrity)检查: n将数据控制在有效的范围内,或保证数据之间满足一定的关系。 n(3)并发(Concurrency)控制 :n对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。 n(4)数据库恢复(Recovery): n将数据库从错误状态恢复到某一已知的正确状态。47应用程序与数据的对应关系应用程序与数据的对应关系(数据库系统数据库系统) DBMS应用程序应用程序1应用程序应用程序2数据库数据库 数据库系统阶段应用程序与数据之间的对应关系 48文件系统与数据库系统的对比文件系统与数据库

27、系统的对比-例例salarydepttnametnoOffice 1addressdeptsextname tnoOffice 2titlecoursedepttname tnoOffice 3titleemailagedeptsextname tnoOffice 449Database System-examplesalaryaddresssexageemailcoursedepttnotitletnameOffice 1Office 2Office 3Office 4503 History of data management51数据库数据库内模式内模式模模 式式外模式外模式2 2外模式外

28、模式3 3外模式外模式1 1应用应用A A应用应用B B应用应用C C应用应用D D应用应用E E外模式外模式/ /模式映象模式映象模式模式/ /内模式映象内模式映象The three levels of data abstraction52Two kinds of data independence (数据独立性数据独立性)nPhysical Data Independence (物理数据独立性):the ability to modify the physical schema without changing the logical schemanApplications depend

29、on the logical schemanIn general, the interfaces between the various levels and components should be well defined so that changes in some parts do not seriously influence others.nLogical data independence(逻辑数据独立性逻辑数据独立性):the ability to modify the logical schema without causing application programs t

30、o be written. 534 View of data Instances (实例实例) and schemas(模式模式)nSimilar to types and variables in programming languagesnSchema the logical structure of the database nsimilar to type information of a variable in a programnPhysical schema: database design at the physical levelnLogical schema: databa

31、se design at the logical levelnInstance the actual content of the database at a particular point in time nsimilar to the value of a variable545 Data ModelnA collection of tools for describing ndata ndata relationshipsndata semantics(语义)ndata constraints(约束)nEntity-Relationship modelnRelational model

32、(关系模型)nOther models: nobject-oriented modelnsemi-structured (半结构化) data models:XMLnOlder models: network model(网状模型) and hierarchical model(层次模型)55Entity-Relationship Model(实体实体-联系模型)联系模型)Example of schema in the entity-relationship modelE-R model is Widely used for database design56Relational Model

33、(关系模型关系模型)57Hierarchical Model(层次模型层次模型)nA hierarchical database consists of a collection of records which are connected to one another through links.5859Network Model(网状模型网状模型)nData are represented by collections of records.nsimilar to an entity in the E-R modelnRecords and their fields are represe

34、nted as record typenRelationships among data are represented by linksnsimilar to a restricted (binary) form of an E-R relationshipnrestrictions on links depend on whether the relationship is many-many, many-to-one, or one-to-one.60Network Model(网状模型网状模型)61Object-Relational Data Models对象关系数据模型对象关系数据模

35、型nExtend the relational data model by including object orientation and constructs to deal with added data types.nAllow attributes of tuples to have complex types(复杂类型), including non-atomic values such as nested relations(嵌套关系).nPreserve relational foundations, in particular the declarative access t

36、o data, while extending modeling power.nProvide upward compatibility with existing relational languages.626 Database LanguagesnSQL: widely used non-procedural languagenApplication programs generally access databases through one ofnLanguage extensions to allow embedded SQLnApplication program interfa

37、ce (e.g., ODBC/JDBC) which allow SQL queries to be sent to a databasenSQL:nData Definition Language (DDL)nData Manipulation Language (DML)nData Control Language (DCL)63 Data Definition Language (DDL)(数据定义语言)数据定义语言)nSpecification notation for defining the database schemanE.g. create table account ( a

38、ccount-number char(10), balance integer)nDDL compiler generates a set of tables stored in a data dictionary(数据字典)nData dictionary contains metadata (i.e., data about data)(元数据)n database schema nData storage and definition language n language in which the storage structure and access methods used by

39、 the database system are specifiednUsually an extension of the data definition language64Data Manipulation Language (DML)(数据操纵语言)数据操纵语言)nLanguage for accessing and manipulating the data organized by the appropriate data modelnDML also known as query languagenTwo classes of languages nProcedural (过程型

40、) user specifies what data is required and how to get those data nNonprocedural(非过程型) user specifies what data is required without specifying how to get those datanSQL is the most widely used query language657 Database DesignThe process of designing the general structure of the database:nLogical Des

41、ign(逻辑设计) Deciding on the database schema. Database design requires that we find a “good” collection of relation schemas.nBusiness decision What attributes should we record in the database?nComputer Science decision What relation schemas should we have and how should the attributes be distributed am

42、ong the various relation schemas?nPhysical Design (物理设计) Deciding on the physical layout of the database 668 Database users and administrators nDatabase users:nApplication programmers interact with system through DML callsnSophisticated users form requests in a database query languagenSpecialized us

43、ers write specialized database applications that do not fit into the traditional data processing frameworknNave users invoke one of the permanent application programs that have been written previouslynE.g. people accessing database over the web, bank tellers, clerical staffnDatabase Administrator(DB

44、A)67Database AdministratornCoordinates all the activities of the database system; the database administrator has a good understanding of the enterprises information resources and needs.nDatabase administrators duties include:nSchema definitionnStorage structure and access method definitionnSchema an

45、d physical organization modificationnGranting user authority to access the databasenSpecifying integrity constraintsnRoutine maintenance689 Transaction Management(事务管理事务管理)nA transaction(事务事务) is a collection of operations that performs a single logical function in a database application. ACID:nAtomicity(原子性)nConsistency(一致性)nIsolation(孤立性)nDurability(持久性)nTransac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论