1数据库系统概论AnIntroductiontoDatabaseSystem傅蓉(医工学院信息技术系)62789314,furong@smu.edu.cn南方医科大学信息技术系20122教材及参考书(1)教材•王珊,萨师煊:数据库系统概论(第四版),高等教育出版社,2010年1月参考书•何玉洁:数据库系统教程,人民邮电出版社,2010年9月南方医科大学信息技术系20123教材及参考书(2)上机软件•Access、SQLServer教学网站:••考核方式70%期末理论考试30%平时成绩(上机+课程设计)南方医科大学信息技术系20125内容安排(一)基础篇•第一章:绪论•第二章:关系数据库•第三章:关系数据库标准语言SQL•第五章:数据库完整性设计篇•第六章:数据库设计•第八章:数据库编程南方医科大学信息技术系20126内容安排(二)系统篇•第四章:数据库安全性•第十章:数据库恢复技术•第十一章:并发控制南方医科大学信息技术系20127第1章绪论本章的主要内容有:•使用数据库的原因•数据库系统的组成•数据模型•数据模式南方医科大学信息技术系201281.1使用数据库的原因数据在日常的工作和生活中变得越来越重要。存储和管理南方医科大学信息技术系20129彩票数据南方医科大学信息技术系201210股票数据南方医科大学信息技术系2012112010年前7个月我国对主要贸易伙伴进出口总值表南方医科大学信息技术系201212能否用电子表格软件,如Excel来存储和处理数据呢?南方医科大学信息技术系201213电子表格存在的问题1:冗余在表中,每行都是单独的。因此,相同的信息可能出现多次。南方医科大学信息技术系201214管理多个项目的经理信息重复出现多次南方医科大学信息技术系201215南方医科大学信息技术系201216电子表格存在的问题2:多主题在表内,每行可能包含多个主题的信息。因此:某个主题的信息依赖相关主题的信息而存在南方医科大学信息技术系201217查找经理ID号是15004的信息南方医科大学信息技术系201218电子表格存在的问题3:更新问题冗余和多主题带来表更新的问题•删除问题•修改问题•插入问题•例如:一个学生表中包含学生信息(Name、Email)和指导老师信息(Name、Email)南方医科大学信息技术系201219删除学生Marino的信息,同样删除了教师Tran的信息南方医科大学信息技术系201220修改第8行AdviserEmail带来数据不一致的问题南方医科大学信息技术系201221插入Greene教授的信息,该教授没有选课学生南方医科大学信息技术系201222表中的所有数据都只和学生有关表中有的数据和学生有关,有的和导师有关南方医科大学信息技术系201223信息的复杂性如果一个表含有两个或两个以上的主题,修改数据就会出现问题(Relationaldatabases)关系数据库被提出来用于解决复杂的信息处理问题南方医科大学信息技术系201224关系数据库关系数据库以表的形式存储信息。每个主题信息存储在各自的表中。本质上,一个关系数据库将表格分成几张不同的表,每个部分对应一个主题南方医科大学信息技术系201225举例1:项目表可以分成经理表、项目表、项目_管理表。南方医科大学信息技术系201226项目表项目_管理表经理表南方医科大学信息技术系201227举例2:分成学生表和导师表。南方医科大学信息技术系201228通过Adviser关联两张表南方医科大学信息技术系201229插入新行,不需学生数据改变行——数据一致删除行——没有丢失Adviser数据南方医科大学信息技术系201230StructuredQueryLanguage结构化查询语言(SQL)作为主导技术来查询、合并、处理表的集合。搜寻多张表中的信息南方医科大学信息技术系201231使用数据库的原因帮助用户更好地管理好数据相比电子表格,数据库能够存储更复杂的信息南方医科大学信息技术系201232地位:信息化程度的重要标志数据库的建设规模数据库信息量的大小数据库使用频度南方医科大学信息技术系2012DatabasestouchallaspectsofourlivesDatabaseApplications:•Banking:alltransactions•Airlines:reservations,schedules•Universities:registration,grades•Sales:customers,products,purchases•Onlineretailers:ordertracking,customizedrecommendations•Manufacturing:production,inventory,orders,supplychain•Humanresources:employeerecords,salaries,taxdeductions33南方医科大学信息技术系2012341.2数据库系统的概念数据与信息计算机数据管理的发展数据库系统的组成南方医科大学信息技术系201235一、数据与信息数据(Data)是数据库中存储的基本对象数据的定义•描述事物的符号记录数据的种类•文字、图形、图像、声音数据的特点•数据与其语义是不可分的南方医科大学信息技术系201236数据举例学生档案中的学生记录•(李明,男,1972,江苏,计算机系,1990)数据的形式不能完全表达其内容数据的解释•语义:学生姓名、性别、出生年、籍贯、所在系别、入学年•解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系南方医科大学信息技术系201237注意:第一、不能把数据简单地与数字等同起来。第二、数据的表现形式还不能完全表达其内容,需要经过解释。数据的解释是对语义的说明。语义—数据的含义。第三、数据在计算机中存储和处理时,都转换成计算机能够识别的符号,即只用0和1两个符号编码的二进制串来表示。如:”A”-------0100000112-------00001100南方医科大学信息技术系201238信息信息=数据+数据处理数据处理:将数据转换成信息的过程,如数据的收集、存储、传播、分类、检索、计算、打印报表、输出图形。南方医科大学信息技术系201239联系与区别数据是具体的,是用以表示信息的符号或载体信息是抽象的,是经过加工之后的数据,是对数据语义的解释。南方医科大学信息技术系201240二、计算机数据管理的发展什么是数据管理?•对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题三个阶段:•人工管理阶段(40年代中--50年代中)•文件系统阶段(50年代末--60年代中)•数据库系统阶段(60年代末--现在)南方医科大学信息技术系2012433.数据库系统阶段实现数据共享、减少数据冗余、有特定的数据模型、数据独立DBMSDB应用程序1应用程序2…南方医科大学信息技术系201244数据库系统的4个特点整体数据结构化—特定的数据模型数据可共享,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制南方医科大学信息技术系201246数据独立性逻辑独立性•指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。物理独立性•指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。南方医科大学信息技术系201247三、数据库系统的组成数据库系统=计算机系统+数据库数据库系统常简称为数据库。南方医科大学信息技术系201248数据库系统一般由四部分组成:用户数据库应用程序数据库管理系统(DBMS)数据库南方医科大学信息技术系2012491.数据库DB定义:长期储存在计算机内、有组织的、可共享的大量数据集合。组织:数据按一定的数据模型组织,数据相互关联。南方医科大学信息技术系20122.数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。用于建立、使用和维护数据库的系统软件。50南方医科大学信息技术系2012主要功能接收以SQL编码的请求并转化为数据库中的操作,主要功能:•数据定义•数据操纵•数据控制51南方医科大学信息技术系201252DBMS的主要功能数据定义功能•提供数据定义语言(DataDefinitionLanguage,简称DDL)•定义数据库中的数据对象,如表,字段,索引。南方医科大学信息技术系201253DBMS的主要功能数据操纵功能•提供数据操纵语言(DataManipulationLanguage,简称DML)•操纵数据实现对数据库的基本操作,如数据查询、数据更新(插入、修改、删除)南方医科大学信息技术系201254DBMS的主要功能数据库控制功能•提供数据控制语言(DataControlLanguage,简称DCL)•通过DCL保证数据库的可恢复性、并发控制、安全性和完整性。南方医科大学信息技术系201255DBMS对数据的控制功能数据的安全性(Security)保护•授权用户执行授权操作,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查•将数据控制在有效的范围内,使数据正确、有效、相容。南方医科大学信息技术系201256DBMS对数据的控制功能并发(Concurrency)控制•对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)•将数据库从错误状态恢复到某一已知的正确状态。南方医科大学信息技术系201257DBMS功能总结创建数据库创建表创建支持结构(如索引)读取数据库数据更新(插入、修改或删除)数据库数据维护数据库结构执行规则、并发控制、提供安全性执行备份和恢复南方医科大学信息技术系201258常用的DBMS软件供应商提供,庞大且复杂。OracleSQLServerFoxProSYBASEDB2Access—集DBMS和应用程序一体南方医科大学信息技术系2012593.数据库应用程序运用DBMS所支持的程序设计语言编写南方医科大学信息技术系2012功能是用户使用数据库的操作平台,用户通过程序提交操作数据库的命令,DBMS执行命令,完成对数据库的操作,并将结果反馈给程序。60南方医科大学信息技术系201261数据库应用程序的功能创建并处理表单处理用户查询创建并处理报表执行应用逻辑控制应用南方医科大学信息技术系201262表单(窗体)门诊挂号系统数据库:病人信息表、专家信息表、门诊安排表南方医科大学信息技术系201263数据输入窗体南方医科大学信息技术系201264查询南方医科大学信息技术系201265报表南方医科大学信息技术系201266应用程序开发工具VB,VB.netVC,C#DelphiASP,ASP.net南方医科大学信息技术系20124.用户使用数据库应用程序跟踪事务过程使用表单输入、读取、删除和查询数据生成报表67南方医科大学信息技术系201269从系统开发角度:人员系统分析员数据库设计人员数据库管理员程序员最终用户南方医科大学信息技术系201270(1)数据库管理员(DBA)即管理和维护数据库系统正常运行的专职人员。数据库管理员直接通过DBMS进行数据库的维护工作。南方医科大学信息技术系201271(2)系统分析员负责应用系统的需求分析和规范说明与用户及DBA协商,确定系统的硬软件配置参与数据库系统的概念设计南方医科大学信息技术系201272(3)数据库设计人员参加用户需求调查和系统分析确定数据库中的数据设计数据库各级模式南方医科大学信息技术系201273(4)程序员