第一章数据库原理1.1数据库系统1.2数据库应用系统1.3数据模型1.4关系数据库的设计1.5Access2002与数据库的关系小结与练习1.1数据库系统一,数据处理技术的发展状况1.非关系型数据库系统层次模型和网状模型2.关系型数据库系统数据按二维表组织3.面向对象数据库系统模块化程序设计变为面向对象的程序设计的数据库系统的设计二,数据库系统简介1.数据库2.数据库管理系统3.数据库系统=数据库+数据库管理系统三,数据库系统的组成1.硬件2.软件3.数据库4.数据库管理员1.2数据库应用系统数据库应用系统DBAS:是指数据库应用程序系统,它是针对某一个实际应用管理对象而设计开发的一个面向用户的软件系统.如:学生管理系统.1.3数据模型一,信息,数据和实体信息是对客观事物或抽象概念的描述数据是对客观事物或抽象概念的符号化的描述实体是客观存在并可相互区别的事物二,实体间的联系1,一对一联系集A中的一个实体至多同B中的一个实体相联系,而B中的一个实体也至多同A中的一个实体相联系。2,一对多联系集A中的一个实体可以同B中的任意数目(包括0)的实体相联系,而B中的一个实体至多同A中的一个实体相联系。3,多对多联系集A中的一个实体可以同B中任意数目(包括0)的实体相联系,而B中的一个实体也可以同A中任意数目(包括0)的实体相联系。三,数据模型层次模型:分别用记录和链接来表示数据和数据间的联系.与网状模型不同的是:层次模型中的记录只能组织成树的集合而不能是任意图的集合.网状模型中的数据用记录(与Pascal语言中的记录含义相同)的集合来表示,数据间的联系用链接(可看作指针)来表示.数据库中的记录可被组织成任意图的集合.关系模型用表的集合来表示数据和数据间的联系.每个表有多个列,每列有唯一的列名.1.4关系数据库的设计数据库的设计需求分析概念设计逻辑设计物理设计二数据库应用系统的设计1.5Access2002与数据库的关系Access2002是一个桌面关系型的数据库管理系统.练习P101,2我们举个例子来说明这个问题:每个人都有很多亲戚和朋友,为了保持与他们的联系,我们常常用一个笔记本将他们的姓名,地址,电话等信息都记录下来,这样要查谁的电话或地址就很方便了.这个通讯录就是一个最简单的数据库,每个人的姓名,地址,电话等信息就是这个数据库中的数据.我们可以在笔记本这个数据库中添加新朋友的个人信息,也可以由于某个朋友的电话变动而修改他的电话号码这个数据.不过说到底,我们使用笔记本这个数据库还是为了能随时查到某位亲戚或朋友的地址,邮编或电话号码这些数据.实际上数据库就是为了实现一定的目的按某种规则组织起来的数据的集合,在我们的生活中这样的数据库可是随处可见的啊.小结:数据库是什么图书管理员在查找一本书时,首先要通过目录检索找到那本书的分类号和书号,然后在书库找到那一类书的书架,并在那个书架上按照书号的大小次序查找,这样很快就能找到我所需要的书.数据库里的数据像图书馆里的图书一样,也要让人能够很方便地找到才行.如果所有的书都不按规则,胡乱堆在各个书架上,那么借书的人根本就没有办法找到他们想要的书.同样的道理,如果把很多数据胡乱地堆放在一起,让人无法查找,这种数据集合也不能称为数据库.数据库的管理系统就是从图书馆的管理方法改进而来的.人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理,这些程序后来就被称为数据库管理系统,它们可以帮我们管理输入到计算机中的大量数据,就像图书馆的管理员.我们将要学习的Access也是一种数据库管理系统.第三章创建Access数据库3.1设计数据库3.2创建数据库的方法3.3习题3.1关系数据库设计方法关系数据库中,数据表是最基本的对象,表的好坏,直接关系到数据库的效率以及对数据库管理和维护,因此,开始建立数据库之前,用户须先对数据库中的数据表进行仔细的分析和设计.比如那些数据存放在一张表中,每个字段的名,字段属性的设计,一个数据库中包含几张表,与表之间的联系等数据库表的设计方法学分课程名称课程号课程班级姓名学号学生实体属性实体实例:学生选课系统实体之间联系:多对多初步设计关系表854多媒体2145计用05(3)王五055048011804数据库技术2304计用05(3)王五055048011764多媒体2145计用05(2)张三055047006854数据库技术2304计用05(2)张三055047006成绩学分课程名称课程编号班级姓名学号表3-1计用05(3)王五055048011计用05(2)张三055047006班级姓名学号4多媒体21454数据库技术2304学分课程名称课程编号表3-1存在问题:表中数据大量冗余解决办法:将表3-1拆分,每一个表对应一个实体,如下:表3-2总结:1.关系数据库中,一般一个表描述一个实体2.多对多:增加一个关系表,表中存两个相关表的关键字字段.852145055048011802304055048011762145055047006852304055047006成绩课程号学号表3-3总结:1.关系数据库中,一般一个表描述一个实体2.多对多:增加一个关系表,表中存两个相关表的关键字字段.852145055048011802304055048011762145055047006852304055047006成绩课程号学号表3-3问题:需不需要在表3-3中加上姓名,课程名等字段名称答案:不需要,否则带来数据冗余,因为学号+课程号不会重复,而且它们分别唯一确定一个实体.要点:除了外关键字,避免在表间出现重复字段总结:用外部关键字保证相关联表之间的联系.一对多关系,在多的一边加上一那边的关键字字段.根据上面总结思考以下问题:如果现在学校限制学生在选课的过程中只能选择一门课程,则学生选课系统的关系模式从简单,减少数据冗余的角度考虑,可以有哪些变化呢是不是还需要另外单独建立一个学生——课程的关系模式呢解决:不需要增加学生——课程关系表,本问题中,课程与学生的联系为一对多按照总结2)可采取如下措施:成绩课程编号班级姓名学号学分课程名称课程编号关系数据库设计步骤,原则1.需求分析信息需求处理需求安全性和完整性需求2.确定需要的表一个实体对应一个表关系数据库设计步骤,原则3.确定表中所需字段每个字段直接和表中的实体相关字段——实体型的属性以最小的逻辑单位存储信息表中的字段必须是原始数据确定关键字字段关键字字段——实体中的码关系数据库设计步骤,原则4.确定联系一对多:在多的一边加上一那边的关键字字段;多对多:添加一个关系表,表中存两个相关表的关键字字段;一对一:根据具体情况而定,或用一个表存储,或用两个表存储,两个表使用相同的关键字字段,也有可能两个表通过外关键字字段建立联系.5.设计求精3.2创建数据库的方式利用数据库向导创建数据库不利用向导创建数据库3.2.1利用数据库向导创建数据库例3-1创建工时与账单数据库启动Access2002以后,将鼠标移动到工具栏上的新建图标单击左键,或通过文件\新建选项;打开新建文件窗口2)打开通用模板窗口;选择工时与账单图标,然后确定3)出现文件新建数据库窗口;选择路径输入文件名,单击创建按钮4)启动数据库向导:5)单击下一步,进入下面窗口:6)选择数据库中相应的表,确定表中的字段,并确定是否添加可选字段,(可选字段为斜体)然后单击下一步7)确定屏幕的显示样式,然后下一步8)确定打印报表的样式,然后下一步9)确定数据库的标题,单击下一步:10)单击完成,开始创建数据库.11)出现对话框,单击确定.12)输入注册信息,然后关闭窗口13)数据库对象建完后,系统会自动输入有关信息,输入完后关闭窗口.14)在主切换面板中,选择进入各个窗体,输入客户的相关信息后关闭窗口;15)回到数据库窗口用户可以查看数据库的对象(双击鼠标)3.2.2不利用向导创建数据库例3-2不利用向导创建图书管理数据库打开Access,选择空数据库,下一步在我们以后的章节中,将一直以图书管理数据库作为例子2)选择保存路径,输入数据库文件名图书管理数据库,单击创建.3.3习题操作题使用模板创建一个学生管理的数据库不使用模板创建一个空数据库thankyouverymuch!全国计算机等级考试二级公共基础基本知识1.算法的4个特性是:确定性,可行性,有穷性,拥有足够的情报2.一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是算法的控制结构。3.算法设计的基本方法主要有:列举法,归纳法,递推,递归和减半递推技术4.常用的存储结构有:顺序,链接,索引5.堆排序:nlog2(n)快速排序:n(n-1)/2最坏6.数据流程图中:箭头数据流程序流程图中:箭头事物流7.数据库系统在其内部三级模式:概念模式,内部模式,外部模式;8.过程设计语言(PDL)是结构化的英语和伪码,是一种混合语言9.用户参与物理设计的内容有索引设计,集簇设计和分区设计等三种10.衡量模块独立程度的度量标准:耦合和内聚11.程序设计主要经过了结构化的程序设计和面向对象的程序设计12.数据库设计包括:概念设计和逻辑设计13.数据库的物理结构主要指数据库的存储记录格式,存储记录安排和存取方法14.数据库的建立包括数据模式的建立与数据加载15.数据库设计一般采用生命周期法16.源程序文档化时程序应加注释。注释一般分为序言性注释和功能性注释17.结构化程序设计的主要特点是每个控制结构只有一个入口和一个出口18.结构化程序设计的主要方法是自顶向下,逐步求精,模块化,限制使用GOTO语句19.在面向对象的方法中,类的实例成为对象20.在面向对象的方法中,直接反映了用户对目标系统的要求的模型是功能模型21.对象有三种成分:标识,属性和方法22.软件工程研究的主要内容:软件开发技术和软件工程管理23.软件工程的三要素:方法,工具和过程24.软件是程序,数据和文档的集合25.软件工程的原则包括:抽象,信息隐蔽,模块化,局部化,确定性,一致性,完备性和可验证性26.结构化方法的核心和基础是结构化程序设计理论27.软件需求分析阶段的工作:需求获取,需求分析,编写需求规格说明书,需求评审28.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为数据字典29.软件需求规格说明书是需求分析阶段的最后成果30.软件设计的基本原则:抽象,模块化,信息隐蔽,模块独立性31.数据流程图的类型:变换型和事务型32.好的软件设计结构通常顶层高扇出,中间扇出较少,底层高扇出33.详细设计的方法主要是结构化程序设计34.常用图形描述工具有程序流程图,盒图盒问题分析图35.详细设计的典型语言描述工具是PDL36.结构化程序设计主要强调的是程序的易读性37.在软件生命周期中,能准确的确定软件系统必须做什么和必须具备哪些功能的阶段是需求分析38.关系表中每一个横行称为一个元组39.对象是属性和方法的封装体,操作是对象的动态性属性40.在数据管理技术的发展过程中,经历了人工管理阶段,文件系统阶段和数据库系统阶段,其中数据独立性最高的是数据库系统41.用树形结构来表示实体之间联系的模型成为层次模型42.关系数据库管理系统能使现的专门关系运算包括选择,投影,连接43.数据的存储结构是指数据的逻辑结构在计算机中的表示44.检查软件产品是否符合需求定义的过程称为确认测试45.需求分析常用工具DFD46.索引属于内模式47.在关系数据库中,用来表示实体之间关系的是二维表48.将E-R图转换到关系模式时,实体与联系都可以表示成关系49.希尔排序法属于插入类排序法50.诊断和改正程序中错误的工作通常称为程序调试51.问题处理方案的正确而完整的描述称为算法52.白盒测试一般适用于单元测试53.数据就是描述事物的符号记录54.数据库应用系统由数据库系统,应用软件和应用界面组成55.数据模型所描述的内容:数据结构,数据操作,数据约束。56.数据库的物理结构主要指数据库的存储记录格式,存储记录安排和存取方法57.数据独立性是数据与程序间的互不依赖性,