DatabaseSystemConcepts数据库系统概念主讲:康辉kanghui@jlu.edu.cn2引言课程目标数据库应用系统的开发能力数据库管理系统软件的研究与开发能力先行课程C语言数据结构操作系统网络资源引言现状数据库已经与操作系统、应用服务器一起成为IT基础设施的重要组成部分。应用领域广泛数据仓库,文本管理,海量存储,备份,报表,商业智能businessintelligence,ERP,CRM等云计算、大数据大量的相关的行业银行、电信、制造等几乎每个行业的数据都是存储在关系数据库中。42013全球数据库排名5主流数据库产品DB2能够适合范围广泛的系统技术先进.侧重关键应用,电子商务、商务智能(IBMDB2IntelligentMiner)和信息集成(IBMDB2WarehouseManager)等核心应用和Oracle一样,拥有多个应用系统6主流数据库产品Oracle1979年6月12日,全球第一个商用SQL关系数据库OracleV2由RSI(RelationalSoftwareInc.)公司正式推出。7主流数据库产品SQLServer小型的桌面机(关系数据库中70%的功能未被使用)安装方便价格低廉EnterpriseEdition中作为标准功能包含了联机分析处理(OLAP,Onlineanalyticalprocessing)以及数据挖掘(DataMining)可管理性方面,自优化、自管理等功能更完美,以便在运行数据库时无需进行更多的优化工作售后服务完备安全性不高容易受到病毒攻击8主流数据库产品AdaptiveServerEnterprise(ASE)-SybaseSybase公司是1984年成立的,属于后起之秀。推出支持企业范围的“客户/服务器体系结构”的数据库。1987年推出SybaseSQLServer,称为大学版INGRES的第三代产品。SybaseSystem11.5是其最新产品,支持企业内部各种数据库应用需求,如数据仓库、联机事务处理、决策支持系统和小平台应用,具有丰富的开发工具等。和Oracle,DB2相比,价格低廉华尔街一半的交易都使用了Sybase公司的数据库软件移动数据管理9开放源码数据库MySQL开放源码系统应用广泛,主要应用于网站后台遵循GPL协议.GNUPublicLicense的缩写,最早是自由软件基金会为了促进开放源代码的发展,而搞出来的一种版权协议。4.0不支持存储过程、外码和嵌套查询,没有视图,不是实时数据库和集群数据库,不支持嵌套子查询10开放源码数据库PostgreSQL开放源码数据库DBMSCaliforniaBerkeley开发全球志愿者开发版权协议是BSD,便于商业开发PostgreSQL拥有大型商用DBMS里大多数特性:事务,子查询,触发器,视图和复杂的锁定等。用户定义类型,继承,规则和多版本并行控制以减少锁的争用等。11工作前景数据库DBA管理员在北美,一个熟练的VC++6程序员,其年薪大致在5-6万美元,而一个Oracle数据库管理员,其年薪大致在5-10万美元左右。数据库程序开发人员数据分析人员DBMiner数据库用户12研究前景国际会议SIGMOD,PODS,VLDB,ICDE,ICDT,EDBT,ER……研究机构IBMWatson,Almaden研究中心AT&T实验室Microsoft大学Stanford,Berkeley,Duke,Washington,Cornell,Pennsylvanian,Maryland,Wisconsin,MichiganChapter1:Introduction14Chapter1:IntroductionPurposeofDatabaseSystemsViewofDataDatabaseLanguagesRelationalDatabasesDatabaseDesignObject-basedandsemistructureddatabasesDataStorageandQueryingTransactionManagementDatabaseArchitectureDatabaseUsersandAdministratorsOverallStructureHistoryofDatabaseSystems15DatabaseManagementSystem(DBMS)DBMScontainsinformationaboutaparticularenterpriseCollectionofinterrelateddataSetofprogramstoaccessthedataAnenvironmentthatisbothconvenientandefficienttouseDatabaseApplications:Banking:alltransactionsAirlines:reservations,schedulesUniversities:registration,gradesSales:customers,products,purchasesOnlineretailers:ordertracking,customizedrecommendationsManufacturing:production,inventory,orders,supplychainHumanresources:employeerecords,salaries,taxdeductionsDatabasestouchallaspectsofourlives16电子业务对信息的需求电子业务应用程序包括:电子商务(e-Commerce)企业资源计划(ERP)客户关系管理(CRM)采购和物流管理(PLM)供应链管理(SCM)CRMERPPLMSCM无缝信息流数据库和文件文档和图像富媒介XML分析事务雇员客户供应商及合作伙伴18PurposeofDatabaseSystemsIntheearlydays,databaseapplicationswerebuiltdirectlyontopoffilesystemsDrawbacksofusingfilesystemstostoredata:DataredundancyandinconsistencyMultiplefileformats,duplicationofinformationindifferentfilesDifficultyinaccessingdataNeedtowriteanewprogramtocarryouteachnewtaskDataisolation—multiplefilesandformatsIntegrityproblemsIntegrityconstraints(e.g.accountbalance0)become“buried”inprogramcoderatherthanbeingstatedexplicitlyHardtoaddnewconstraintsorchangeexistingones19PurposeofDatabaseSystemsDrawbacksofusingfilesystems(cont.)AtomicityofupdatesFailuresmayleavedatabaseinaninconsistentstatewithpartialupdatescarriedoutExample:TransferoffundsfromoneaccounttoanothershouldeithercompleteornothappenatallConcurrentaccessbymultipleusersConcurrentaccessedneededforperformanceUncontrolledconcurrentaccessescanleadtoinconsistenciesExample:TwopeoplereadingabalanceandupdatingitatthesametimeSecurityproblemsHardtoprovideuseraccesstosome,butnotall,dataDatabasesystemsoffersolutionstoalltheaboveproblems20文件系统阶段补贴系别姓名学号劳资科住址性别系别姓名学号房产科学位学分系别姓名学号学籍科年龄出身学位性别系别姓名学号人事科21数据库系统的特点学号姓名性别系别年龄住址出身学位学分补贴学籍科房产科人事科劳资科22LevelsofAbstractionPhysicallevel:describeshowarecord(e.g.,customer)isstored.Logicallevel:describesdatastoredindatabase,andtherelationshipsamongthedata.typecustomer=recordcustomer_id:string;customer_name:string;customer_street:string;customer_city:integer;end;Viewlevel:applicationprogramshidedetailsofdatatypes.Viewscanalsohideinformation(suchasanemployee’ssalary)forsecuritypurposes.23ViewofDataAnarchitectureforadatabasesystemAnarchitectureforadatabasesystem•customer•account•employee定义数据的物理组织了解一组应用程序24InstancesandSchemasSimilartotypesandvariablesinprogramminglanguagesSchema–thelogicalstructureofthedatabaseExample:Thedatabaseconsistsofinformationaboutasetofcustomersandaccountsandtherelationshipbetweenthem)AnalogoustotypeinformationofavariableinaprogramPhysicalschema:databasedesignatthephysicallevelLogicalschema:databasedesignatthelogicallevelInstance–theactualcontentofthedatabaseataparticularpointintimeAnalogoustothevalueofavariablePhysicalDataIndependence–theabilitytomodifythephysicalschemawithoutchangingthelogicalschemaApplicationsdependonthelogicalschemaIngeneral,theinterfacesbetweenthevariouslevelsandcomponentsshouldbewelldefinedsothatchangesinsomepartsdonotseriouslyinfluenceothers.25DataModelsAcollectionoftoolsfordescribingDataDatarelationshipsDatasemanticsDataconstrai