第六章数据库基础6.1数据库技术概述6.1.1数据库技术的发展6.1.2数据库系统6.1.3数据库系统特点6.1.4数据库系统体系结构的发展6.1.1数据库技术的发展数据库技术是应数据处理发展的客观要求而产生的。反过来,数据库技术的发展又促进了数据处理的广泛应用数据处理是指数据的分类、组织、编码、存储、查询、统计、传输等操作,向人们提供有用的信息的过程数据处理的对象数据可以是数值型数据,也可以是字符、文字、图表、图形、图像、声音等非数值型数据数据处理发展阶段人工管理阶段:数据依附应用程序文件管理阶段应用程序1应用程序2应用程序n数据文件1应用程序3数据文件2数据文件3数据文件m数据处理发展阶段数据库管理阶段数据库管理系统(DBMS)应用程序2应用程序3应用程序1应用程序n数据库6.1.2数据库系统一般认为数据库系统(DatabaseSystem-DBS)是数据库、数据库管理系统、应用程序、数据库管理系统赖以执行的计算机软硬件环境及数据库维护使用人员的总称。数据库数据库(DataBase-DB)是指按一定的数据结构进行组织的、可共享的、长期保存的相关信息的集合。数据库中不仅保存了用户直接使用的数据,还保存了定义这些数据的数据类型、模式结构等数据――“元数据”数据库系统数据库管理系统(DataBaseManagementSystem-DBMS)是对数据进行管理的软件系统,它是数据库管理系统的核心软件。如ORACLE、SQLSERVER、ACCESS等DBMS主要组成部分查询处理程序存储管理程序模式更新数据查询数据更新事务处理程序数据库应用程序一般是指完成用户业务功能的利用高级语言编写的程序。高级语言可以是VB、C、C++、JAVA等,应用程序通过数据库提供的接口对数据库的数据进行增加、删除、修改、查询、统计等操作计算机软硬件环境计算机软硬件环境是指数据库管理系统、应用程序赖以执行的环境。包括计算机硬件设备,网络设备,操作系统,应用系统开发工具等相关人员相关人员是指在数据库系统的设计、开发、维护、使用过程中,所有参与的人员。主要有数据库管理员(DataBaseAdministrator-DBA)、系统分析设计人员、系统程序员、用户等,其中数据库管理员在大型数据库应用中负有重要的职责,负责对数据库进行有效的管理和控制,解决系统设计和运行中出现的问题数据库系统特点数据的结构化数据冗余小数据共享数据独立性强数据统一管理和控制6.1.4数据库系统体系结构发展集中式数据库管理基于客户/服务器结构(Client/Server,简称C/S)基于浏览器/服务器结构(Browser/Server,简称B/S)分布式数据库客户/服务器结构客户端应用程序Internet数据库服务器数据库基于Web数据库系统体系结构客户端浏览器InternetWeb服务器数据库服务器数据库6.2关系型数据库6.2.1数据模型6.2.2关系型数据库术语6.2.1数据模型数据模型(DataModel)是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义层次模型:按树型结构描述客观事物及其联系网状模型:按网状结构描述客观事物及其联系关系模型:按二维表结构描述客观事物及其联系面向对象模型:用更接近人类思维的方式描述客观世界的事物及其联系,而且描述问题的问题空间和解决问题的方法空间在结构上尽可能一致,以便对客观实体进行结构模拟和行为模拟关系学号姓名性别出生日期院系专业备注00010101李林男1981-8-4中文院现代汉语01020102高山男1982-4-20计算机系计算机应用党员01020201林一风女1983-5-2计算机系计算机应用01010201朱元元女1982-7-15中文院新闻班长学号姓名课程成绩00010101李林大学英语8400010101李林计算机信息技术9200010101李林大学语文8201010201朱元元大学英语7001010201朱元元计算机信息技术8701010201朱元元大学语文7801020102高山大学英语9001020102高山计算机信息技术9001020102高山大学语文8401020201林一风大学英语7801020201林一风计算机信息技术8501020201林一风大学语文72学生基本情况学生成绩关系数据模型•关系模式:学生基本情况(*学号,姓名,性别,出生日期,院系,专业,备注)学生成绩(*学号,姓名,*课程,成绩)•关系名:学生基本情况学生成绩•属性:“学号”、“姓名”、“性别”、“成绩”•主键:学生基本情况关系中,“学号”为主键学生成绩关系中,(“学号”,“课程”)主键联系一对一一对多多对多学号姓名性别出生日期院系专业备注00010101李林男1981-8-4中文院现代汉语01020102高山男1982-4-20计算机系计算机应用党员01020201林一风女1983-5-2计算机系计算机应用01010201朱元元女1982-7-15中文院新闻班长学号姓名课程成绩00010101李林大学英语8400010101李林计算机信息技术9200010101李林大学语文8201010201朱元元大学英语7001010201朱元元计算机信息技术8701010201朱元元大学语文7801020102高山大学英语9001020102高山计算机信息技术9001020102高山大学语文8401020201林一风大学英语7801020201林一风计算机信息技术8501020201林一风大学语文721n6.2.2关系型数据库术语关系型数据库术语表-由表名、列名和数据行组成列-也称为字段或域。列都有列名及数据类型行—即记录值-有一定的取值范围(值域),还有一个特殊值即空值(Null)SQL语言-SQL(StructuredQueryLanguage)即结构化查询语言6.3数据库设计6.3.1数据库设计概述6.3.2数据库设计一般步骤6.3.1数据库设计概述数据库及其应用系统开发的全过程可分为两大阶段:数据库系统的分析与设计阶段;数据库系统的实施、运行与维护阶段数据库设计的基本任务一是根据一个单位的信息需求、处理需求和具体数据库管理系统及软硬件环境,设计出数据模式以及应用程序数据库设计概述信息需求是指一个单位所需要的数据及其结构,表达了对数据库的内容及结构的要求,也就是静态要求处理需求是指一个单位经常进行的数据处理,表达了基于数据库的数据处理要求,也就是动态要求数据模式包括外模式、逻辑模式和内模式数据库系统三级模式结构用户11用户11用户21用户21用户nk用户n1外模式1外模式2内模式外模式n逻辑模式外模式/逻辑模式映象逻辑模式/内模式映象数据库6.3.2数据库设计一般步骤数据库设计一般分为四步:需求分析、概念设计、逻辑设计和物理设计需求分析需求分析是对用户提出的各种要求加以分析,对各种原始数据加以综合、整理,以确定应用系统的信息需求、处理需求、安全及完整性要求等,是对系统设计目标的界定概念设计概念结构设计是对用户需求进行进一步抽象、归纳,并形成独立于具体DBMS和软硬件环境的概念设计模型,数据库的概念结构通常用E-R模型等来刻划学生成绩管理的E-R模型p专业专业代码专业名称学号姓名性别出生日期备注学生院系所属选课所属课程代码课程名称成绩院系代码院系名称课程m11qn逻辑设计逻辑设计是将概念结构进一步转化为某个具体的DBMS所支持的数据模型,然后再对数据模型的结构进行适当调整和优化,形成合理的全局逻辑结构即逻辑模式,并设计出用户模式即外模式物理设计全局概念结构转换成关系模型专业(专业代号,专业名称)院系(院系代码,院系名称)课程(课程代码,课程名称)学生(学号,姓名,性别,出生日期,院系代码,专业代码,备注)选课(学号,课程代码,成绩)物理设计数据库在物理设备上的存储结构与存取方式称为物理数据库。数据库物理设计就是为给定的逻辑结构模型选取一个最合适的应用环境的物理结构,以便在时间和空间效率等方面达到设计要求6.4ACCESS数据库6.4.1ACCESS数据库简介6.4.2数据库的建立与维护6.4.3数据表关系及子数据表6.4.4数据查询6.4.5SQL语句6.4.1ACCESS数据库简介提供7种对象:表对象查询对象窗体对象报表对象数据访问页对象宏对象模块对象6.4.2数据库的建立与维护Access数据库是许多数据库对象的集合,包含表、查询、窗体、报表、宏和模块。建立Access数据库即是创建诸多的与特定应用有关的这些对象,这些数据库对象均保存在同一个以.mdb为扩展名的数据库文件中。2.创建数据库主要步骤新建空数据库打开数据库使用设计器创建表编辑表结构使用设计器创建表字段名字段名最长可达64个字符(包括空格)字段名可以包含字母、汉字、数字和其它一些字符字段名不能包含(。![])数据类型数据类型可存储的数据大小文本文本或文本与数字的组合最长为255个字符备注长文本或文本与数字的组合最长为65535个字符数字数值1、2、4或8个字符日期/时间日期或时间值8个字符货币货币数据8个字符自动编号在添加记录时自动插入的序号(每次增加1)4个字符是/否逻辑值(是/否,真/假)1位OLE对象MicrosoftAccess表中链接或嵌入的对象(例如MicrosoftExcel电子表格、MicrosoftWord文档、图形、声音或其它二进制数据)。最大可为1GB(受磁盘空间限制)超级链接保存超级链接的字段最长为64000各字符查阅向导创建字段,该字段将允许使用组合框来选择另一个表或一个列表中的值。从数据类型列表中选择此选项,将打开向导以进行定义与用于执行查阅的主键字段大小相同,通常为4个字节。主键主键单字段多字段自动增量作为主键表结构编辑表结构移动字段增加字段删除字段记录的输入和编辑数据表视图输入有效值日期合法性逻辑值主键自动编号备注字段的输入(shift+f2)记录的输入和编辑修改记录只能撤销最后一次修改删除记录删除单条、多条记录删除单列、多列数据表操作数据表的复制复制整个表只复制结构数据表的删除删除单条、多条记录删除单列、多列数据表的重命名导入数据导入或链接Access数据库表导入或链接EXCEL表导入或链接DBF表导出数据导出为EXCEL导出为DBF数据库高级操作输入掩码有效性规则索引字段属性设置表字段字段名属性属性值说明学生学号输入掩码00000000学生姓名必填字段是学生性别默认值“男”学生性别有效性规则“男”OR“女”学生性别有效性文本请输入“男”或“女”学生出生日期格式长日期学生出生日期输入掩码9999年99月99日;0;#学生出生日期有效性规则=#1970-1-1#AND#1990-1-1#学生出生日期有效性文本出生日期应在1970年至1989年之间选课成绩有效性规则=0AND=100选课成绩有效性文本成绩应在0到100分之间字段属性设置输入掩码“格式;存储方式;占位符”如“9999年99月99日;0;#”有效性规则逻辑表达式如“性别”:“男”OR“女”字段属性设置索引有重复无重复主键属于无重复索引NULL值6.4.3数据表关系及子数据表建立表关系一对一一对多关系选项实施参照完整性级联更新相关字段级联删除相关字段建立子数据表子数据表是建立在关系基础之上的在数据表视图中,“插入”-“子数据表”在子数据表任一字段,“格式”-“子数据表”-“删除”6.4.4数据查询利用向导建立简单查询建立查询学生表“学号”,“姓名”查询学生的各课程成绩,要求输出“学号”,“姓名”,“课程名”,“成绩”查询学生的各课程不及格成绩,要求输出“学号”,“姓名”,“课程名”,“成绩”利用查询设计器建立简单查询建立查询学生表“学号”,“姓名”查询学生的各课程成绩,要求输出“