




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库应用技术第一章 绪论目录第一章 绪论第二章 数据库基本概念第三章 深入SQL第四章 数据库对象与数据库设计第五章 面向过程的SQL扩展第六章 事务处理与并发第七章 数据库应用开发第八章 数据库安全第九章 数据库管理内容概要1.1 信息和数据1.2 数据库系统发展历史1.3 典型的DBMS软件产品 1.4 数据库应用系统构成1.5 数据库的现状与发展1.1 信息和数据世界由物质、能量、信息三大要素组成信息是世界上事物的存在、运动方式的描述信息有助于减少不确定性信息与物质和运动的关系信息的可复制性,可传播性、可存储性符号和数据不同载体上的信息虽然表现形式不同,其内在的含义是一致的,但必须通过
2、一致的方式来记录内容,和一致的解读方式来还原内容。这种一致的记录和解读信息的方式,被称为符号系统。这种方式必须是可操作的和精确的信息在一种可编码符号系统下的编码就是数据。将数据理解为信息,必须在一定的符号系统下进行,否则它就只是一个数而已。一般将“信息”作为一个集合名词,而将“数据”指代为具体的操作对象。数据管理技术发展经历三个阶段: 人工管理阶段(20世纪50年代中期以前) 文件系统管理阶段(20世纪50年代后期至60年代中期)数据库管理阶段(20世纪60年代末开始)一 人工管理阶段存储介质: 磁带、卡片、纸带(无磁盘)主要用于科学计算 特点:数据量小、计算复杂。数据管理的特点: (1)数据
3、不保存在计算机中。 (2)只有程序的概念,无文件的概念。 (3)没有专用的软件对数据进行管理。 (4)数据面向应用,程序与数据不具有独立性。二 文件系统管理阶段存储介质:出现了磁盘和磁鼓。应用:由科学计算转向于信息管理。特点:计算简单,数据量大。数据管理的特点: (1)数据要求长期保存在磁盘上。 (2)数据不再属于某个特定的程序,可重复使用。 (3)数据逻辑结构和物理结构有区别;程序与数据之间具 有“设备独立”。 (4)文件组织呈现多样化:索引文件,链接文件和散列文 件等。 文件系统管理数据的缺点: (1)数据冗余大。 (2)数据操作具有不一致性。 (3)数据缺乏独立性。 (4)数据之间联系弱
4、。 (5)数据管理无法实施统一的标准。三 数据库管理阶段1、特点: (1) 采用了复杂的数据模型表示数据结构。 (2) 有较高的数据独立性。 数据的逻辑独立:当数据整体逻辑结构改变时,尽量不影响用户的 逻辑结构和应用程序 。 数据的物理独立:当数据的物理结构改变时,不影响整体的逻辑结构以及应用程序 。 (3) 减少了数据的无控冗余。 (4) 数据库系统为用户提供了方便的用户接口来使用数据库。 (5) 数据操作的基本单位是数据项而不是记录,增强了系统的灵活性。 (6) 系统提供了4个方面的数据控制功能:数据库的恢复、并发控制、数据完整性和数据的安全性。1.2 数据库系统发展历史数据库发展史大规模
5、存储介质的出现Hard Data基于File System的数据管理原始的数据库模型网状 DBMS,1961 层次型DBMS,1968关系数据库模型的建立1970年,IBM研究员E.F.Codd奠定了RDBMS的理论基础1979年,Oracle面世存储的历史打孔卡片18841970s穿孔纸带18461970s4096bit计数电子管1946盘式磁带Univac,1951IBM,1952盒式录音磁带飞利浦,1963 约1M字节磁鼓IBM,1953约10K软盘,从早期的8英寸软盘、5.25英寸软盘到3.5英寸软盘。其中,3.5英寸1.44MB软盘占据计算机的标准配置地位近20年之久 第一台硬盘机I
6、BM,19564.4MB 目前主流磁盘200GB 光盘SONY,飞利浦,1979650MB DVD8.5GB蓝光DVD和HD-DVD 存储设备层次三级存储脱机存储基本存储辅助存储联机存储易失性存储非易失性存储磁盘的机制NOTE: Diagram is schematic, and simplifies the structure of actual disk drives磁道主轴磁盘壁组件读写头磁盘壁旋转盘片扇区柱面磁盘的性能指标访问时间 the time it takes from when a read or write request is issued to when data tra
7、nsfer begins. Consists of: 寻道时间 time it takes to reposition the arm over the correct track. Average seek time is 1/2 the worst case seek time.Would be 1/3 if all tracks had the same number of sectors, and we ignore the time to start and stop arm movement4 to 10 milliseconds on typical disks旋转等待时间 ti
8、me it takes for the sector to be accessed to appear under the head. Average latency is 1/2 of the worst case latency.4 to 11 milliseconds on typical disks (5400 to 15000 r.p.m.)数据传输率 the rate at which data can be retrieved from or stored to the disk.25 to 100 MB per second max rate, lower for inner
9、tracksMultiple disks may share a controller, so rate that controller can handle is also importantE.g. SATA: 150 MB/sec, SATA-II 3Gb (300 MB/sec)Ultra 320 SCSI: 320 MB/s, SAS (3 to 6 Gb/sec)Fiber Channel (FC2Gb or 4Gb): 256 to 512 MB/s平均故障时间(Mean time to failure MTTF) the average time the disk is exp
10、ected to run continuously without any failure.Typically 3 to 5 yearsProbability of failure of new disks is quite low, corresponding to a“theoretical MTTF” of 500,000 to 1,200,000 hours for a new diskE.g., an MTTF of 1,200,000 hours for a new disk means that given 1000 relatively new disks, on an ave
11、rage one will fail every 1200 hoursMTTF decreases as disk ages数据库管理系统数据库管理系统(Database Management System,DBMS)是一套软件产品,可以把一系列相关数据保存在计算机中,并提供对这些数据进行检索、修改和维护等操作的工具和编程接口。 数据库(DB,Database)指保存在计算机中的数据部分。DBMS的功能模式翻译:将概念上的数据库模式翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模
12、式为依据的。 应用程序的编译:把包含着访问数据库语句的应用程序,编译成在dbms支持下可运行的目标程序。 交互式查询:提供易使用的交互式查询语言,如sql。dbms负责执行查询命令,并将查询结果显示在屏幕上。 DBMS的功能-续数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。 事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。 数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。 RDBMS的特点高可靠性存储的数据不会遭到破坏(即使软件、硬件遭到破坏)
13、,使用备份机制,可恢复。物理可靠;数据安全。不同人员授权不同,避免非法访问及级别不够时的越权操作。高可用性:并发性。多用户通过网络并发访问,使用各种缓存机制;事务处理。数据冗余性低,可重用性强。平台无关性数据不加改动可移植到不同操作系统下。程序员无须顾及服务器,只须考虑DBMS即可。支持工具充分1.3 典型的DBMS软件产品 大型DBMS产品ORACLEDB2 (Informix)中小型DBMS产品MSSQLSybase SQL Server桌面型DBMSAccess开源产品MySqlPostgreSQL、FirebirdOracle数据库Oracle是以高级结构化查询语言(SQL)为基础的大
14、型关系数据库,是目前最流行的客户-服务器(Client/Server)体系结构的数据库之一。Oracle特点共享SQL和多线索服务器体系结构提供基于角色分工的安全保密管理支持多媒体数据提供第三代高级语言的接口软件Pro*系列,能在C、C+等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵提供分布式数据库能力MS SQL Server数据库SQL Server是一个全面的、集成的、端到端的数据解决方案,为企业中的用户提供一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。自SQL Server2005以来的新特性加强的T-SQL(事务处理SQL)CLR(通用语言
15、运行时),整合了符合.NET规范的语言,可在DBMS中执行.NET代码以充分利用其功能服务代理数据加密合并SMTP邮件提高邮件性能创建HTTP终端多活动结果集允许从单个客户端到数据库保持一条持久连接,每个连接可以拥有超过一个的活动请求专用管理员连接以对SQL Server发起单个诊断连接数据库镜像SQL Server综合服务满足复杂数据的移动要求SQL Server主要工具关系数据库:关系型数据库引擎,支持结构化和非结构化(XML)数据复制服务:可用于数据分发、处理移动数据应用,系统高可用,企业报表解决方案的后备数据可伸缩存储,与异构系统的集成等通知服务:用于开发、部署可伸缩应用程序集成服务:
16、支持数据仓库和企业范围内数据集成的抽取、转换和装载能力分析服务:OLAP联机分析处理,用于多维存储的大量复杂数据集的快速高级分析报表服务:全面的报表解决方案,新增基于web的报表管理工具:集成管理工具实现高级数据库的管理和调谐开发工具:实现端到端的应用程序开发能力IBM DB2数据库20世纪70年代初,IBM的San Jose研究中心的E.F.Codd首次提出关系数据库模型1983年,IBM为MVS(多重虚拟系统)开创了第一代DB2数据库DB2 通用数据库UDB是当今世界上先进的数据库支持最多的系统平台支持商务智能和基于知识的应用支持多种数据类型(文件、图形、文本、视频、空间数据)DB2核心数
17、据库(公共服务器)特色支持面向对象的编程支持多媒体应用程序备份和恢复能力支持存储过程和触发器支持递归SQL查询支持异构分布式数据库访问支持数据复制MySQL数据库开放源码数据库,在一定规则下任何人都可以使用、修改源码以符合特殊需要免费!简单易用!C/S架构多线程服务器适于中小型应用无后期保障,自行解决问题、承担风险MySQL数据库特性支持多种编译器,开发语言为C/C+良好的内存管理机制支持多种平台提供多种形式的API使用多线程技术提供多种数据类型提供Windows端的ODBC连接客户端可通过TCP/IP、UNIX套接字、命名管道(NT)连接到MySQL数据库服务器Sybase数据库Sybase
18、公司1987年推出的数据库产品Sybase数据库三种版本UNIX操作系统下版本Novell Netware环境下版本Windows NT下版本UNIX操作系统下目前广泛应用Sybase数据库,目前版本Sybase 11 for SCO UNIXSybase数据库特点基于C/S架构的数据库开放式数据库,不仅提供预编译,而且公开应用程序接口DB-LIB便于应用程序在不同平台间移植高性能数据库 可编程数据库事件驱动的触发器多线索化1.4 数据库应用系统构成1、硬件。包括服务器、工作站、和网络2、软件核心是DBMS操作系统、DBMS支撑工具,接口库,开发工具等。由程序员根据用户需求设计开发的应用系统。
19、3、数据库。具有持久性,结构化和可共享的数据集合。数据库是现代化企业的核心资源之一。数据库应用系统 数据库应用领域联机事务处理(Online Transaction Processing,OLTP):对各种现实事务过程中的数据进行存储、查询和处理。如超市结账,银行转账等,一般由业务操作员进行操作,是其他数据库应用的基础。联机分析处理(Online Anlysis Processing,OLAP):对OLTP的数据进行分析、汇总、统计等,力求进行深入的分析。一般由专业管理人员和技术人员进行操作。数据库应用系统的发展70年代之前,原始的,基于主机的应用系统,供政府、军队和大企业使用80年代后,随着
20、局域网和PC机的发展,局域网模式的数据库应用系统逐渐普及到中小企业。形成C/S的开发模式。本世纪,随着互联网的迅速发展,以网站为表现形式的数据库应用系统越来越多。形成B/S的开发模式。数据库应用系统的领域作业控制:数据处理系统 (Data Processing System, DPS)或交易处理系统 (Transaction Processing System, TPS) 知识管理:知识工作系统(Knowledge Work System, KWS)与办公室系统(Office System, OS),负责累积知识与协助运用知识以提高组织的竞争力。 管理控制:管理信息系统(Management
21、Information System,MIS)策略规划:决策支持系统 (Decision Support Systems,DSS)、数据挖掘(Data Mining)数据库应用系统-用户最终用户是系统的使用者初级用户高级用户程序员是系统程序的建立者,包括系统分析员,和(高级)用户沟通,设计数据库应用方案和软件结构。前台程序员,使用前台开发工具,设计界面软件,对数据库进行存取。后台程序员,较复杂的系统中,使用特定数据库开发工具做一些通用子程序在数据库服务器端或者中间服务器运行。管理员:DBA,数据库管理员,负责配置和维护数据库。Database1.5 数据库的现状与发展数据库应用现状与缺陷分布式
22、DBMS面向对象的DBMS数据仓库与数据挖掘面向文档的数据库NoSQL = Not Only SQLNOSQL优点对数据库的高并发读写。Key-Value型数据库:Redis 等对海量数据的高效率存储和访问。文档型数据库:MongoDB等数据库的可扩展性。分布式数据库:Cassandra等NOSQL缺点很难实现数据的完整性。缺乏强有力的技术支持。开源数据库从出现到用户接受需要一个漫长的过程。关系型数据库在设计时更能够体现实际。An Introduction to Database Systems1.2.5 层次模型层次模型是数据库系统中最早出现的数据模型 层次数据库系统的典型代表是IBM公司的
23、IMS(Information Management System)数据库管理系统层次模型用树形结构来表示各类实体以及实体间的联系 An Introduction to Database Systems四、层次数据模型的存储结构邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序An Introduction to Database Systems层次数据模型的存储结构(续)图1.20 层次数据库及其实例 A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1图1.21 邻接法 按邻接法存放图1.20(b)中以根记录A1为首的层次记录实例集按邻
24、接法存放图1.20(b)中以根记录A1为首的层次记录实例集 An Introduction to Database Systems层次数据模型的存储结构(续)链接法用指引来反映数据之间的层次联系子女兄弟链接法层次序列链接法An Introduction to Database Systems层次数据模型的存储结构(续)子女-兄弟链接法每个记录设两类指针,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟An Introduction to Database Systems层次数据模型的存储结构(续)层次序列链接法按树的前序穿越顺序链接各记录值An Introduction to Datab
25、ase Systems五、层次模型的优缺点优点层次模型的数据结构比较简单清晰 查询效率高,性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多,应用程序的编写比较复杂 查询子女结点必须通过双亲结点由于结构严密,层次命令趋于程序化 An Introduction to Database Systems1.2.6 网状模型网状数据库系统采用网状模型作为数据的组织方式 典型代表是DBTG系统:亦称CODASYL系统70年代由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术实际系统Cullinet Software Inc.
26、公司的 IDMSUnivac公司的 DMS1100Honeywell公司的IDS/2HP公司的IMAGEAn Introduction to Database Systems1.网状数据模型的数据结构网状模型满足下面两个条件的基本层次联系的集合:1. 允许一个以上的结点无双亲;2. 一个结点可以有多于一个的双亲。An Introduction to Database Systems网状数据模型的数据结构(续)表示方法(与层次数据模型相同)实体型:用记录类型描述 每个结点表示一个记录类型(实体)属性:用字段描述 每个记录类型可包含若干个字段联系:用结点之间的连线表示记录类型(实体)之 间的一对多
27、的父子联系An Introduction to Database Systems网状数据模型的数据结构(续)网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系(复合联系)网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例An Introduction to Database Systems网状数据模型的数据结构(续)网状模型中子女结点与双亲结点的联系可以不唯一要为每个联系命名,并指出与该联系有关的双亲记录和子女记录 R1与R3之间的联系L1R2与R3之间的联系L2 An Introduction to Da
28、tabase Systems网状数据模型的数据结构(续)网状模型的例子 An Introduction to Database Systems网状数据模型的数据结构(续)多对多联系在网状模型中的表示用网状模型间接表示多对多联系方法: 将多对多联系直接分解成一对多联系An Introduction to Database Systems网状数据模型的数据结构(续)例如:一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系 引进一个学生选课的联结记录,由3个数据项组成学号课程号成绩表示某个学生选修某一门课程及其成绩 An Introduction to Databas
29、e Systems网状数据模型的数据结构(续)图1.24 学生/选课/课程的网状数据模型 An Introduction to Database Systems网状数据模型的操纵与完整性约束(续)网状数据库系统(如DBTG)对数据操纵加 了一些限制,提供了一定的完整性约束码:唯一标识记录的数据项的集合 一个联系中双亲记录与子女记录之间是一对多联系支持双亲记录和子女记录之间某些约束条件 An Introduction to Database Systems三、网状数据模型的存储结构关键实现记录之间的联系常用方法单向链接双向链接环状链接向首链接An Introduction to Database
30、 Systems网状数据模型的存储结构(续)图1.25 学生/选课/课程的网状数据库实例 学生记录课程记录选课记录An Introduction to Database Systems四、网状数据模型的优缺点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用RAIDRAID: Redundant Arrays of Independent Disks disk organization techniques that manage a
31、 large numbers of disks, providing a view of a single disk of high capacity and high speed by using multiple disks in parallel, high reliability by storing data redundantly, so that data can be recovered even if a disk fails The chance that some disk out of a set of N disks will fail is much higher
32、than the chance that a specific single disk will fail.E.g., a system with 100 disks, each with MTTF of 100,000 hours (approx. 11 years), will have a system MTTF of 1000 hours (approx. 41 days)Techniques for using redundancy to avoid data loss are critical with large numbers of disksOriginally a cost
33、-effective alternative to large, expensive disksI in RAID originally stood for inexpensiveToday RAIDs are used for their higher reliability and bandwidth. The “I” is interpreted as independentImprovement of Reliability via RedundancyRedundancy store extra information that can be used to rebuild info
34、rmation lost in a disk failureE.g., Mirroring (or shadowing)Duplicate every disk. Logical disk consists of two physical disks.Every write is carried out on both disksReads can take place from either diskIf one disk in a pair fails, data still available in the otherData loss would occur only if a dis
35、k fails, and its mirror disk also fails before the system is repairedProbability of combined event is very small Except for dependent failure modes such as fire or building collapse or electrical power surgesMean time to data loss depends on mean time to failure, and mean time to repairE.g. MTTF of
36、100,000 hours, mean time to repair of 10 hours gives mean time to data loss of 500*106 hours (or 57,000 years) for a mirrored pair of disks (ignoring dependent failure modes)Improvement in Performance via ParallelismTwo main goals of parallelism in a disk system: 1.Load balance multiple small access
37、es to increase throughput2.Parallelize large accesses to reduce response time.Improve transfer rate by striping data across multiple disks.Bit-level striping split the bits of each byte across multiple disksIn an array of eight disks, write bit i of each byte to disk i.Each access can read data at e
38、ight times the rate of a single disk.But seek/access time worse than for a single diskBit level striping is not used much any moreBlock-level striping with n disks, block i of a file goes to disk (i mod n) + 1Requests for different blocks can run in parallel if the blocks reside on different disksA
39、request for a long sequence of blocks can utilize all disks in parallelFile Organization, Record Organization and Storage Access磁盘的机制NOTE: Diagram is schematic, and simplifies the structure of actual disk drives磁道主轴磁盘壁组件读写头磁盘壁旋转盘片扇区柱面File OrganizationThe database is stored as a collection of files.
40、Each file is a sequence of records. A record is a sequence of fields.One approach:assume record size is fixedeach file has records of one particular type only different files are used for different relationsThis case is easiest to implement; will consider variable length records later.Fixed-Length R
41、ecordsSimple approach:Store record i starting from byte n (i 1), where n is the size of each record.Record access is simple but records may cross blocksModification: do not allow records to cross block boundariesDeletion of record i: alternatives:move records i + 1, . . ., n to i, . . . , n 1move re
42、cord n to ido not move records, but link all free records on afree listDeleting record 3 and compactingDeleting record 3 and moving last recordFree ListsStore the address of the first deleted record in the file header.Use this first record to store the address of the second deleted record, and so on
43、Can think of these stored addresses as pointers since they “point” to the location of a record.More space efficient representation: reuse space for normal attributes of free records to store pointers. (No pointers stored in in-use records.)Variable-Length RecordsVariable-length records arise in data
44、base systems in several ways:Storage of multiple record types in a file.Record types that allow variable lengths for one or more fields such as strings (varchar)Record types that allow repeating fields (used in some older data models).Attributes are stored in orderVariable length attributes represen
45、ted by fixed size (offset, length), with actual data stored after all fixed length attributesNull values represented by null-value bitmapVariable-Length Records: Slotted Page StructureSlotted page header contains:number of record entriesend of free space in the blocklocation and size of each recordR
46、ecords can be moved around within a page to keep them contiguous with no empty space between them; entry in the header must be updated.Pointers should not point directly to record instead they should point to the entry for the record in header.Organization of Records in FilesHeap a record can be pla
47、ced anywhere in the file where there is spaceSequential store records in sequential order, based on the value of the search key of each recordHashing a hash function computed on some attribute of each record; the result specifies in which block of the file the record should be placedRecords of each relation may be stored in a separate file. In a multitable clustering file organization records of several different relations can be stored in the same fileMotivati
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤炭买卖居间合同
- 产品分销合作协议修改书
- 山东省淄博市临淄区2024-2025学年八年级上学期期末生物学试题(含答案)
- 湖南省娄底市冷水江市2024-2025学年八年级上学期期末生物学试题(含答案)
- 数据驱动的智慧城市建设项目合作协议
- 财务人员聘用合同协议书
- 2024-2025学年高二英语人教版选择性必修第三册教学课件 UNIT 2 Reading and Thinking
- 2024-2025学年高二化学人教版选择性必修3教学课件 第三章 第一节 卤代烃
- 信息查询技术服务合同
- 企业内部通讯协议统计表
- 2024年批次杭州市教育局所属事业单位招聘笔试真题
- 2024年海东市第二人民医院自主招聘专业技术人员考试真题
- 《VAVE价值工程》课件 - 创造最大化的价值与效益
- 中医养生保健知识科普
- 社区居委会2025年工作总结暨2025年工作计划
- 水果联营合同范例
- 江苏卷2024年高考语文第一次模拟考试一(原卷版+解析版)
- 实验室仪器设备售后服务承诺书(7篇)
- 浙江省杭州市2024年中考英语真题(含答案)
- 中国水资源与水环境-王浩
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
评论
0/150
提交评论