05 数据库项目开发概述.ppt_第1页
05 数据库项目开发概述.ppt_第2页
05 数据库项目开发概述.ppt_第3页
05 数据库项目开发概述.ppt_第4页
05 数据库项目开发概述.ppt_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,5.1 数据库基础知识 5.2 数据库设计 5.3 SQL语言简介 5.4 ODBC与ADO简介 5.5 VB与SQLServer数据库关联,第5章 数据库项目开发概述,2,本章主要内容 四个基本概念 数据模型 SQL语言 数据库访问技术,3,5.1 数据库基础知识,数据库技术研究如何科学合理地组织数据、存储数据 如何高效的访问数据 数据库技术是应数据管理任务的需要而产生的。 数据管理是指如何对数据进行分类、组织、编码、储存、检索和维护。 随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。,4,数据库系统阶段,应用程序与数据间的对应关系:数据在数据库中集

2、中存放、统一管理,面向所有应用。,应用程序1,应用程序2,数据库管理系统,数据库,5,数据库系统的Client/Server 结构,数据库服务器,客户机,请求数据服务,送回服务结果,应用软件,应用开发工具,客户机OS,DBMS,网络OS,数据库,用户,数据库管理员,6,Database,简称DB 数据库是指长期存储在计算机内、有组织、可共享、统一管理的数据的集合。 它可以供用户共享,具有尽可能小的冗余度和较高的数据独立性,使得数据存储最优,数据最容易操作,并且具有完善的自我保护能力和数据恢复能力。,5.1.1 四个基本概念-数据库,7,5.1.1 四个基本概念-数据库管理系统,Database

3、 Management System,简称DBMS 数据库管理系统是位于用户与操作系统间的一层数据管理软件,属系统软件的范畴。 数据库管理系统负责定义数据和操纵数据,并能够保证数据库中数据的安全性、完整性,以及进行多用户对数据的并发使用及发生故障后的系统恢复。 Access、SQL Server、Oracle 、Sybase 、Foxpro 是典型的数据库管理系统,8,5.1.1 四个基本概念-数据库管理员,Database Administrator,简称DBA DBA是指全面负责数据库系统的“规划、设计、维护、管理和正常使用的”人员,其职责如下: (1)参与数据库设计的全过程,决定数据库的

4、结构和内容; (2)定义数据的安全性和完整性,负责分配用户对数据库的使用权限和口令管理; (3)监督控制数据库的使用和运行,改进和重新构造数据库系统。当数据库受到破坏时,应负责恢复数据库;当数据库的结构需要改变时,完成对数据结构的修改。 DBA不仅要有较高的技术专长和较深的资历,并应具有了解和阐明管理要求的能力。 特别对于大型数据库系统,DBA极为重要。对于常见的微机数据库系统,通常只有一个用户,常常不设DBA,DBA的职责由应用程序员或终端用户代替。,9,5.1.1 四个基本概念-数据库系统,数据库系统是指由数据库、数据库管理系统、应用系统、数据库管理员和用户等构成的系统。 广义的讲,数据库

5、系统由下面几部分构成 硬件及数据库 软件:包括操作系统、DBMS、编译系统及应用开发工具软件等 人员:包括数据库管理员、用户等。 数据库系统的各类人员对数据库的各种操作请求,都由DBMS完成,DBMS是数据库系统的核心软件。,10,用户,用户,用户,.,应用系统,应用开发工具,数据库管理系统,操作系统,数据库,数据库管理员,长期储存在计算机内、有组织、可共享的数据集合。,负责定义数据和操纵数据,并能够保证数据库中数据的安全性、完整性、并发控制及恢复,数据库系统组成,11,5.1.2 常用数据模型,在数据库中是用数据模型这个工具来对现实世界进行抽象的。数据模型是数据库系统中用于提供信息表示和操作

6、手段的形式构架。 根据模型应用的目的不同,可将数据模型分为两类。 概念模型(信息模型):按照用户的观点对数据和信息建模 逻辑模型(层次、网状、关系):按照计算机系统的观点对数据建模。,12,1. 概念模型,三个世界,认识抽象,现实世界,信息世界 概念模型,机器世界 DBMS支持的数据模型,概念模型用于信息世界建模,是现实世界到信息世界的第一层抽象,是用户与数据库设计人员之间进行交流的语言,因此概念模型应强调语义表达能力。要易于用户理解,13,1. 概念模型,信息世界中的基本概念 实体(Entity):客观存在并可相互区别的事物称为实体,如:一个学生、一个部门、一门课、学生的一次选课、部门的一次

7、订货等。 实体集(Entity Set):同型实体的集合称为实体集。如:全体学生就是一个实体集。 属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如学生实体可以用学号、姓名、性别、出生年月等属性组成。 码(Key):唯一标识实体的属性集称为码。如:学号是学生实体的码。,14,1. 概念模型,联系:事物之间的联系可以分为三类 一对一联系(1 :1)如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。如班级和班长之间的联系 一对多联系(1 : n):如果对于实体集A中的每一个实体,实体集B中有

8、n个实体与之联系(n=0),反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系。如班导师和学生之间的联系。,15,1. 概念模型,联系: 多对多联系(m :n):如果对于实体集A中的每一个实体,实体集B中有n个实体与之联系(n=0),反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m=0)与之联系,则称实体集A与实体集B具有多对多联系。如:学生和课程之间的关系。 多个实体之间也可以存在一对一、一对多、多对多的联系,如学生、课程和教科书之间的联系。 同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系,如职工实体集内有

9、领导和被领导的联系。,16,1. 概念模型,概念模型的表示方法:实体联系方法 实体型:用矩形框表示,矩形框内写上实体名 。如: 属性:用椭圆形表示,并用无向边将其与相应的实体联系起来。如:,课程,学生,学生,学号,学号,学号,姓名,性别,年龄,17,1,1. 概念模型,概念模型的表示方法:实体联系方法 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n,m:n)。如:,班级,班长,管理,1,1,班级,班长,管理,n,1,班级,学生,组成,m,班级,课程,管理,n,学生,选修,18,1. 概念模型,实体联系,参考书,教师,课程,讲

10、授,1,n,m,职工,领导,1,n,19,1. 概念模型,E-R图实例,学生,班级,课程,学号,姓名,性别,年龄,班级编号,所属专业系,课程号,课程名,学分,教师,参考书,课程号,姓名,性别,年龄,职称,书号,书名,内容提要,价格,20,1. 概念模型,E-R图实例,班级,成绩,组成,领导,学生,学生人员,选修,课程,讲授,教师,参考书,1,n,n,1,n,m,领导,领导,1,n,m,21,2. 逻辑模型,不同的数据模型具有不同的数据结构形式,目前最常用的数据模型有层次模型、网状模型和关系模型。 层次模型和网状模型统称为非关系模型,在非关系模型中,实体用记录表示,实体之间的联系转换成记录之间的

11、两两联系。,22,2. 关系模型,关系模型中的重要概念 关系:一个二维表是一个关系 元组:表中的一行即为一个元组 属性:表中的一列即为一个属性 主码:表中的某个属性组,它可以唯一确定一个元组。 域:属性的取值范围 分量:元组中的一个属性值。 关系模式:对关系的描述。一般表示为:关系名(属性1,属性2,. . . , 属性n),23,2. 关系模型,关系模型的数据结构:二维表,学号,95001 95002 95003 95004 。 。 。 95700,姓名,性别,系别,年龄,籍贯,李勇 刘晨 王名 张立 杨晓冬,男 女 女 男 。 。 。 男,计算机科学 信息 数学 计算机科学 。 。 。 物

12、理,20 19 18 19 。 。 。 21,江苏 山东 北京 北京 。 。 。 山西,整数,字符串,男 女,信息 数学,.,14 15 16 17 18 19 20 21 22.,北京 上海 山东.,学生登记表,关系名,主键,关系,域,字段名,记录 行,字段(列),24,关系模型,在关系模型中,实体以及实体间的联系都是用关系来表示的, 例如,学生、课程、学生与课程之间的多对多联系在关系模型中可以表示如下: 学生 (学号, 姓名, 性别, 系别, 年龄 ,籍贯) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 关系模型要求关系必须是规范化的,关系的每一分量必须是一个不可分的数据项。,

13、25,5.2 数据库设计,主要的内容: 需求分析 概念设计。概念模型和E_R图 逻辑设计。关系模型设计 物理设计,26,5.2 数据库设计,数据库设计的主要任务 针对特定用途,在给定的软、硬件环境下,设计出结构合理、性能良好的数据库,使之能较好地满足客户需求。 数据库的设计一般分为以下四个步骤(于1978年在新奥尔良会议上提出,因此简称新奥尔良法):需求分析、概念设计、逻辑设计、物理设计。,27,图5 6数据库设计步骤,28,5.3关系数据库标准语言SQL简介,自结构化查询语言SQL(Structure Query Language)成为国际标准语言后,各个数据库厂家纷纷推出各自支持的SQL软

14、件,SQL已成为关系数据库领域中的一个主流语言。 SQL的特点: 功能强大 使用灵活 语言简洁,易学易用,29,5.3.1 SQL的基本概念,创建表、视图、索引等,向数据表中插入指定的纪录,在数据库中查找满足条件的记录,授予用户一定的访问权限,30, 5.3.2 常用的SQL语句,建立数据库的目的是为了查询数据,因此说数据查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询,该语言具有语言灵活的使用方式和丰富的功能。 查询语句一般格式为: SELECT ALL |DISTINCT, FROM, WHERE GROUP BY HAVING ORDER BYASC|DESC;,

15、31, 5.3.2 常用SQL数据查询,整个SELECT语句的含义是,根据WHERE子句的表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。 如果有GROUP子句,则将结果按的值进行分组,该属性列值相等的元组为一个组,每个组产生结果表中的一条记录. 如果GROUP子句带HAVING短语,则只有满足指定条件的组才予输出. 如果有ORDER子句,则结果表还要按的值的升序或降序排序.,32,“学生-课程”数据库中包括三个表,1. “学生信息”表StuInfo由学号、姓名、班级、来源这4个属性组成,可记为: StuInfo

16、(学号,姓名,班级,来源). 其中学号为主码. 2. “课程信息”表ClassInfo由课程代号,课程名称,任课教师,学分4个属性组成,可记为: ClassInfo(课程代号,课程名称,任课教师,学分). 其中课程代号为主码. 3. “学生成绩”表StuScore由学号,课程代号,成绩3个属性组成,可记为: StuScore (学号,课程代号,成绩),其中(学号,课程代号)为主码.,33,例1:查询考试成绩在80分以上的学生学号。 SELECT 学号 FROM stuScore WHERE 成绩=80; 或者: SELECT DISTINCT 学号 FROM stuScore WHERE 成绩

17、=80; DISTINCT表示将查询结果中的重复信息去掉。,34,例2:查询学生信息表中姓张的学生的基本信息。 SELECT * FROM stuInfo WHERE 姓名 like 张%; 或者: SELECT * FROM stuInfo WHERE 姓名 like 张_; “%”:代表零个或多个字符。 “_”:代表一个字符。,35,例3:查询学生成绩表中成绩在8590之间的学生成绩信息。 SELECT * FROM stuScore WHERE 成绩 BETWEEN 85 AND 90; BETWEENAND指明字段值必须满足的范围,36,例4 : 查询学生信息表中的所有信息并按学号降序

18、排序。 SELECT * FROM stuInfo ORDER BY 学号 DESC; 在ORDER BY子句中,ASC表示升序,DESC表示降序。,37,例5:查询各个班级的总人数。 SELECT 班级, COUNT(*) AS 人数 FROM stuInfo GROUP BY 班级; COUNT函数用于统计个数,AS用于起别名。,38,例6:查询学号为“20050001”的学生的总成绩、最高分、最低分、平均分。 SELECT SUM(成绩) AS 总成绩, AVG(成绩) AS 平均成绩, MAX(成绩) AS 最高成绩, MIN(成绩) AS 最低成绩 FROM stuScore WHE

19、RE 学号=20050001; SUM函数用于计算数值型数据的总和 AVG函数用于计算数值型数据的平均值 MAX函数用于计算数值型数据的最大值 MIN函数用于计算数值型数据的最小值,39,例7:在成绩表中查询成绩不多于2门的学号和相应门数。 SELECT 学号, COUNT(*) AS 门数 FROM stuScore GROUP BY 学号 HAVING COUNT(*)=2;,40,例8:查询学生的姓名、课程名、成绩。 SELECT stuInfo.姓名, classInfo.课程名称, stuScore.成绩 FROM stuInfo, classInfo, stuScore WHERE

20、 stuInfo.学号= stuScore.学号 and classInfo.课程代号=stuScore.课程代号; 本例涉及到三个表之间的关联,41,SQL-数据更新之插入语句,数据更新有插入、删除、更新三种操作 插入语句: 一次插入一条记录的格式为: INSERT INTO 表名(字段名,字段名) VALUES(常量,常量); 一次插入多条记录的格式为: INSERTINTO表名(字段名,字段名) SELECT查询语句;,42,例9: 将一条记录“1004”、“计算机”、“王海”、2插入到课程信息表中。 INSERT INTO classInfo VALUES(1004, 计算机, 王海,

21、 2); 例10:将成绩表中学号为“20050001”的全部记录插入到scoreBack表中,其中scoreBack是一张新建的表,其表结构与成绩表相同。 INSERT INTO scoreBack SELECT * FROM stuScore WHERE 学号=20050001;,43,SQL-数据更新之删除语句,删除语句指从数据表中删除符合条件的记录。它的格式为: DELETE FROM 表名 WHERE 条件表达式; 例11:删除学生成绩表中学号为“20050003”的记录。 DELETE FROM stuScore WHERE 学号=20050003;,44,SQL-数据更新之更新语句

22、,更新语句指修改数据表中符合指定条件记录的某个或某些字段值。它的格式为: UPDATE 表名 SET 列名=值表达式, 列名=值表达式 WHERE条件表达式; 例12:修改学生信息表中学号为“20050001”同学的来源为“河北”。 UPDATE stuInfo SET 来源=河北 WHERE 学号=20050001;,45,例13:将学生成绩表中全部学生的成绩加上五分作为最终成绩。 UPDATE stuScore SET 成绩=成绩+5;,46,5.4 ODBC与ADO简介,开放数据库互连标准(Open Database Connectivity,简称ODBC)是Microsoft推出的一种

23、客户端连接后台数据库的技术。ODBC把SQL作为访问数据库的标准,实现了用相同的代码访问不同数据库格式的。 ODBC体系结构主要由数据库应用程序、ODBC驱动程序管理器、ODBC驱动程序、ODBC数据源四部分组成。,5.4.1ODBC体系结构,47,ODBC体系结构,48,5.4.2 配置ODBC数据源,ODBC数据源管理器窗口,49,1)在Windows 2000环境下,单击“开始”“设置”“控制面板”,进入“控制面板”窗口,再双击“管理工具”,进入“管理工具”窗口,50,2)双击“数据源(ODBC)”,进入“ODBC数据源管理器”对话框,选择“系统DSN”选项卡。,51,3)单击“添加”按

24、钮,进入“创建新数据源”对话框,选择“Microsoft Access Driver(*.mdb)”。,52,4)单击“完成”按钮,进入“ODBC Microsoft Access安装”对话框,在数据源名后面的文本框内输入一个新名称(班级学生)。,53,5)单击“选择” 按钮,进入“选择数据库”对话框,在右边选择数据库所在的目录,左边选择指定的数据库。,54,6)单击两次“确定”按钮,返回“ODBC 数据源管理器”对话框,可以看到“班级学生”数据源显示在“系统DSN”选项卡的列表框中。,55,5.4.3 ADO简介,ADO对象模型主要包括连接(Connection) 、命令(Command)

25、、记录集(Recordset)、错误(Error)、参数(Parameter)、字段(Field)对象,56,5.4.4 ADO Data控件,用ADO控件创建数据库应用程序: 1)添加ADO控件到工具箱。创建一个新的VB工程,单击“工程”菜单“部件”,打开“部件”对话框,选中“Microsoft ADO Data Control6.0(OLEDB)”单击“确定”按钮。,57,2)双击工具箱中的ADO控件将其添加到窗体上并适当调整其位置。 3)单击该控件的ConnectionString属性右侧的按钮,出现“属性页”窗口,选择“使用ODBC数据源名称”,选择“班级学生”数据源,单击“确定”按钮

26、。,58,4)单击该控件RecordSource属性右侧的按钮,选择相应的数据表。 5)至此,ADO控件的配置完毕。在VB窗体上添加标签与文本框控件,文本框的名字从上到下依次为txtNum、txtName、txtClass、txtOrigin 。,59,6)分别设置各文本框的DataSource属性和DataField属性,各文本框的DataSource属性均为Adodc1,DataField属性则分别为学号、姓名、班级、来源。 7)单击运行按钮,运行结果如图所示。,60,5.4.5ADO编程,基于ADO的应用程序存取数据源的主要步骤如下: 1)连接到指定的数据源; 2)打开记录集对象; 3)

27、对记录集进行添加、删除、修改、查询记录等操作; 4)关闭已打开的连接。 两个ADO对象:Connection对象 Recordset对象,61,1)用CONNECTION对象连接到数据源 State属性:AdStateClosed(关闭,默认) AdStateOpen (打开) Open方法:打开到数据源的连接,如果能成功打开数据源,就可以对它发出命令并且处理结果 语法为:Connection.Open ConnectionString, UserID, Password, Options Close方法: Connection. Close 例:Dim cnn As ADODB.Connec

28、tion Set cnn=New ADODB.Connection cnn.open “DSN=Student” con.close:set connothing,62,2)用RECORDSET对象表示执行查询所得到的记录集 BOF、EOF属性:BOF指明当前记录的位置位于Recordset对象的第一个记录之前,EOF指明当前记录的位置位于Recordset对象的最后一个记录之后。 RecordCount属性: 返回Recordset对象中的记录数目。 Fields属性: 包含Recordset对象的所有字段对象。 假设rst是一个Recordset对象,则此记录集的第1个字段可以用rst.F

29、ields(0)来表示;而rst.Fields.Count 则用于返回记录集的列数。,63,Open方法 Open 方法用于打开基本表、查询结果或者以前保存的 Recordset 中记录的游标。Open方法的语法为: Recordset.Open Source, ActiveConnection, CursorType, LockType, Options Close方法 Close方法用于关闭记录集对象。,64,Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Set cnn=New ADODB.Connection Set rst

30、=New ADODB.Recordset cnn.open “DSN=Student” str”select * from course” rst.open str,cnn,adOpenStatic,adLockOptimistic . rst.Fields(i) . rst.Close Set rst = Nothing,65,5.5 VB与SQLServer数据库关联,5.5.1VB与ACCESS 7.0数据库关联 使用控件实现VB和ACCESS关联的步骤为: 1)建立数据库,66,2)与数据库关联 关联的具体步骤如下: 在窗体上添加数据控件(Data):如Data1。 设置数据控件的相应

31、属性:如Connect属性为“Access”、DatabaseName属性为“试验.mdb”、RecordsetType属性为“0-Table”、RecordSource属性为“学生信息表”。 在窗体上添加数据绑定控件:在VB窗体上添加标签与文本框控件,文本框的名字从上到下依次为txtNum、txtName、txtClass、txtOrigin。 设置各数据绑定控件的DataSource、DataField属性:分别设置各文本框的DataSource属性为Data1,DataField属性则分别为学号、姓名、班级、来源。 运行VB程序,查看关联结果。,67,5.5.2 VB与SQL Serve

32、r数据库关联,SQL Server,关系数据库的管理系统. SQL SERVER最初是由微软和sybase公司开发的。后来微软将sql server移植到NT上,而sybase注重于在unix上的开发。SQL SERVER对SQL 进行了有针对性的扩展,它开发的sql语句,叫transact sql,ORACLE的sql语言叫PL/SQL。,VB与SQL Server数据库关联的步骤: 1)建立SQL Server数据库 2)创建ODBC数据源 3)与VB建立连接 4)保存并运行VB工程,可以查看相应的数据,68,1)建立SQL Server数据库 启动SQL Server服务:在Window

33、s 2000 Server环境下,单击“开始”菜单“程序”“Microsoft SQL Server”“服务管理器”,单击“开始/继续”按钮。,69,创建数据库:单击“开始”菜单“程序”“Microsoft SQL Server”“企业管理器”,即可进入企业管理器界面。展开控制台根目录,右击数据库选择“新建数据库” (如左图示) ,就会出现“数据库属性”对话框(如右图示) ,输入数据库名称(student),单击“确定”即可。,70,创建表:选择新建的“student”数据库右键选择“新建”“表”命令(如左图示),即会出现创建表的对话框(如右图示)。创建表之后单击“保存”,将该表的名称保存为“stuInfo”。,71,输入数据:选择新建的“stuInfo”表右键选择“打开表”命令选择“返回所有行”命令(如左图示),就可以打开该表并输入数据(如右图示)。,72,2)创建ODBC数据源 在Windows 2000 Server环境下,单击“开始”“设置”“控制面板”,进入“控制面板”窗口,再双击“管理工具”进入管理工具窗口。,73,双击“数据源(ODBC)”,进入“ODBC数据管理器”对话框,选择“系统DSN”选项卡。 单击“添加”按钮,进入“创建新数据源”对话框,在名称框里选择“SQL Server”,,74,单击“完成”按钮,进入“创建到SQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论