1 / 73

Delphi 实用教程

Delphi 实用教程. 第 7 章 数据库基本概念和操作. 7.1 数据库基本概念 7.1.1 数据和数据库. 数据是可以被计算机接受和处理的符号。根据所表示的信息特征不同,数据有不同的类别,如数字、文字、表格、图形图像、声音等等。 数据库( Database ,简称 DB ),顾名思义,就是存放数据的仓库,其特点是数据按照数据模型组织,是高度结构化的,可供多个用户共享并且具有一定的安全性。 关系数据库是按照二维表结构方式组织的数据集合,二维表由行和列组成,表的行称为元组,列称为属性,对表的操作称为关系运算,主要的关系运算有投影、选择和连接等 。.

idana
Download Presentation

Delphi 实用教程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Delphi实用教程 第7章 数据库基本概念和操作 第7章 数据库基本概念和操作

  2. 7.1 数据库基本概念7.1.1 数据和数据库 • 数据是可以被计算机接受和处理的符号。根据所表示的信息特征不同,数据有不同的类别,如数字、文字、表格、图形图像、声音等等。 • 数据库(Database,简称DB),顾名思义,就是存放数据的仓库,其特点是数据按照数据模型组织,是高度结构化的,可供多个用户共享并且具有一定的安全性。 • 关系数据库是按照二维表结构方式组织的数据集合,二维表由行和列组成,表的行称为元组,列称为属性,对表的操作称为关系运算,主要的关系运算有投影、选择和连接等。 第7章 数据库基本概念和操作

  3. 7.1.2 数据库管理系统 • 数据库管理系统即DBMS(DataBase Management System),它是位于用户应用程序和操作系统之间的数据库管理系统软件,其主要功能是组织、存储和管理数据,高效地访问和维护数据,即提供数据定义、数据操纵、数据控制和数据维护等功能。 • 数据库系统即DBS(DataBase System),是指按照数据库方式存储和维护数据,并向应用程序提供数据访问接口的系统。它有四部分组成: • 数据库 • 计算机硬件(支持DB存储和访问) • 软件(包括操作系统、DBMS、及应用开发支撑软件) • 数据库管理员(DBA,DataBase Administrator) • 数据库系统通常分为桌面型数据库系统和网络型数据库系统两大类。 第7章 数据库基本概念和操作

  4. 7.1.3 关系数据库语言SQL • 结构化查询语言SQL(Structured Query Language)是用于关系数据库操作的标准语言 • SQL虽然名为查询语言,但实际上具有数据定义、查询、更新和控制等多种功能,它使用方便、功能丰富、简洁易学等特点。 第7章 数据库基本概念和操作

  5. 7.1.4 表和视图 1. 表(Table) ●表 是用来存储和操作数据的一种逻辑结构。表 由行和列组 成,因此也称之为二维表。 ●表结构 组成表的各列的名称及数据类型 ●记录表中的一行 ●字段 构成记录的每个数据项 ●关键字表中唯一标识一条记录的某一字段或字段组 合能 ●主键 一个表有多个候选关键字,则选定其中一个 为主关键字 ●外关键字某字段或字段组合不是本表的关键字,而是 另外表关键字 第7章 数据库基本概念和操作

  6. 7.1.4 表和视图 2. 视图(View) 视图是从一个或多个表(或视图)导出的表。它是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。 视图有下列优点: (1)为用户集中数据,简化用户的数据查询和处理。 (2)屏蔽数据库的复杂性。 (3)简化用户权限的管理。 (4)便于数据共享。 第7章 数据库基本概念和操作

  7. 7.1.5 数据库设计 • 数据库应用程序开发的目标是建立一个满足用户需求的软件产品。在开发数据库应用程序之前必须仔细了解用户需求,对数据库进行认真的规划设计,这是决定开发是否成功的关键。通常数据库所包含的大量信息是以表的形式存储,数据库中有的表是独立的,有的表之间存在一定关系,设计数据库就是将大量信息经过分析和归纳,分别存储到多个表中,确定表之间的相互关系。 第7章 数据库基本概念和操作

  8. 7.1.6 常用数据库简介 • Paradox Paradox是Delphi 7自带的一个小型桌面数据库,它是Delphi 7开发小型的桌面型数据库系统应用程序一个比较好的选择。Paradox数据库、表的建立与维护,均通过Delphi 7提供的数据库设计工具Database Desktop进行。 • Access Microsoft Access是Office套件中提供的一个桌面型数据库,它是在Windows环境下开发的一种全新的关系型数据库系统,具有某些大型数据库的基本功能,如支持事务处理、具有用户组和多用户管理功能、具有一定的安全性和完整性保护功能等。 • 大型数据库 常用的大型数据库有Interbase、Oracle、Sybase、Infomix、 DB2和Microsoft SQL Server等。 第7章 数据库基本概念和操作

  9. 7.2 数据库、表的创建与维护 本节使用的几个表的结构: 第7章 数据库基本概念和操作

  10. 7.2 数据库、表的创建与维护 第7章 数据库基本概念和操作

  11. 7.2.1 Paradox数据库、表操作 • BDE中创建数据库 • BDE是通过别名(alais)来管理数据库的,所谓别名是为数 据库指定的名称,通过Delphi 7所提供的BDE Administrator 可对别名所对应的数据库属性及驱动程序参数进行配置,配 置的参数将被保存在名为IDAPI32.CFG的配置文件中。BDE 使用别名对数据库进行管理的优点是可以使得应用程序在开 发和运行时都不必涉及所使用的后台数据库的类型。 • 如在BDE中创建别名为Student数据库,操作方法如下: (1) 建立与Student数据库对应的文件夹,设该文件夹名为d:\paradoxDB。 (2) BDE Administrator中配置Paradox数据库,使之支持中文。 第7章 数据库基本概念和操作

  12. 7.2.1 Paradox数据库、表操作 (3) 创建名为Student的数据库,方法是:选择BDE Administrator窗 口左边的Database选项卡,单击鼠标右键,在弹出的快捷 菜单上选择New,如图。再在所弹出的选择数据库驱动程序对 话框中选择STANDARD,单击OK。 第7章 数据库基本概念和操作

  13. 7.2.1 Paradox数据库、表操作 (4) 然后为所创建的数据库命名,并配置Student数据库的属 性参数, 如图。 第7章 数据库基本概念和操作

  14. 7.2.1 Paradox数据库、表操作 可设置的参数有: lDEFAULT DRIVER:默认的数据库驱动程序。 lENABLE BCD:是否支持对数字进行BCD编码。 lPATH:设置数据库对应的路径。本例设置路径为 d:\paradoxDB。 (5) 保存所创建的数据库及配置信息,选择BDE Administrator主菜单下的 ObjectApply命令项,将弹出保存数据库确认对话框,单击OK即可 保存。 第7章 数据库基本概念和操作

  15. 7.2.1 Paradox数据库、表操作 2. 创建表 在Database Desktop中创建表students,操作方法如下: (1) 运行Database Desktop,依次选择开始程序Borland Delphi 7Database Desktop,其界面如图。 第7章 数据库基本概念和操作

  16. 7.2.1 Paradox数据库、表操作 (2) 新建表,选择Database Desktop主菜单的 FileNewTable命令项,将弹出选择新建表类型的对 话框,选择PARADOX 7,单击OK。 (3) 上一步结束后,将出现创建表的窗口,该窗口分为左右 两部分,左边是字段信息输入区,共有5列,第一列是 字段序号,由系统自动生成, 其余四列分别为: lField Name(字段名):可输入最多25个字 符作为 字段名,设置Paradox支持中文后,可使用中文字 段名。 lType(数据类型):可直接输入数据类型的缩写字 母(如字符串类型输入A、数值类型输入N等等), 也可单击鼠标右键打开弹出式菜单选择数据类型。 lSize(长度):设定字段的长度。 lKey(是否为关键字):若某字段为关键字,则该 列显示*号。 第7章 数据库基本概念和操作

  17. 7.2.1 Paradox数据库、表操作 创建表的界面 字段类型 创建表的窗口 第7章 数据库基本概念和操作

  18. 7.2.1 Paradox数据库、表操作 (4) 保存新建的表,单击创建表窗口的Save As按钮,将出现“Save Table As”对话框,在其中选择表的保存路径、保存的数据库类型和表所属的数据库名,并输入表名。 第7章 数据库基本概念和操作

  19. 7.2.1 Paradox数据库、表操作 3. 修改表结构 (1)打开表,在Database Desktop中选择主菜单FileOpen ->Table…命令项,或单击工具栏上的(Open Table)按钮, 将出现“Open Table”对话框,选择需打开的数据库、表,单 击打开按钮。 第7章 数据库基本概念和操作

  20. 7.2.1 Paradox数据库、表操作 (2)在所出现的如图所示的表结构编辑窗口中选择主菜单下的 Table Restructure…命令项,或单击工具栏上的(Restructure) 按钮,将打开一个新窗口,在其中可进行修改字段各属性的操作。 工具栏上的(Restructure)按钮 第7章 数据库基本概念和操作

  21. 7.2.1 Paradox数据库、表操作 此时出现的修改表结构的窗口 第7章 数据库基本概念和操作

  22. 7.2.1 Paradox数据库、表操作 4. 向表中添加记录 向students表中添加一批记录,操作方法如下: (1)打开表,方法与修改表结构的第一步操作相同。 (2)选择主菜单的TableEdit Data命令项,进入表编辑状 态,此时就可以进行数据添加操作了。 (3)逐行输入数据。输入数据时,要注意几点:一是关键 字字段值要唯一;二是输入的数据要与字段的数据类 型相符;三是字段长度的限制;四是英文字符、数字 等与汉字所占字节数的区别。 (4)保存数据,输入完成后,选择主菜单的FileClose即 可保存表数据。 第7章 数据库基本概念和操作

  23. 7.2.1 Paradox数据库、表操作 向表中添加记录的界面窗口: Edit Data按钮 记录定位按钮 添加的记录 第7章 数据库基本概念和操作

  24. 7.2.1 Paradox数据库、表操作 说明: BDE Administrator的主要功能是以别名的方式管理数据库,由于Paradox本身并没有数据库概念,故要将相关的几个表组织在一起形成“数据库”,需借助于BDE Administrator的数据库管理功能。BDE Administrator更主要的功能是通过别名配置的方式对数据库进行引用和管理。 第7章 数据库基本概念和操作

  25. 7.2.2 SQL Server 2000数据库、表操作 • 在企业管理器中进行数据库、表操作 ●SQL Server 2000 企业管理器是Microsoft管理控制台的管理单 元组件。选择开始程序Microsof SQLServer企业管理器, 即可启动SQL Server 2000 企业管理器,其主界面如图所示。 第7章 数据库基本概念和操作

  26. 7.2.2 SQL Server 2000数据库、表操作 ●SQL Server企业管理器共享一个用于Web管理的MMC用户界面子集,它通过易于使用的图形用户界面,将所有SQL Server对象展现在一个分层结构的控制台树中,按照“数据库服务器组”“数据库服务器”“数据库”“数据库对象(表、视图等)”的层次结构组织对象并进行管理的。利用企业管理器可对数据库服务器、数据库及数据库对象(表、视图等)进行有效地管理。 第7章 数据库基本概念和操作

  27. 7.2.2 SQL Server 2000数据库、表操作 (1)创建数据库 在SQL Server 2000中,能够创建数据库的用户必须是系统 管 理员,或是被授权使用CREATE DATABASE语句的用户。 创 建数据库时,必须要确定数据库名、所有者(即创建数据 库的用户)、数据库大小(最初的大小、最大的大小、是否 允许增长及增长方式)和存储数据库的文件。 下面说明使用企业管理器创建数据库的过程。 (1)在“SQL Server Enterprise Manager”窗口中展 开Microsoft SQL Servers和SQL Server组,选择 SQL Server服务器。在选择的SQL Server服务器上点击鼠 标右键,在所出现快捷菜单上选择“新建”“数据库…”。 (2)上一步操作结束后,出现下图所示的“数据库属性” 对话框,在“常规”选项卡的“名称”文本框中输入欲创建的 数据库名。 第7章 数据库基本概念和操作

  28. 7.2.2 SQL Server 2000数据库、表操作 输入数据库名: 第7章 数据库基本概念和操作

  29. 7.2.2 SQL Server 2000数据库、表操作 (3)选择“数据文件”选项卡,在文件名为“Student_DATA”这一行 的 “初始大小”列将系统缺省大小1改为5,设置是否允许数据库增 长、增长方式以及最大文件大小,见图标注。 (4)在数据库属性对话框中选择“事务日志”选项卡,与第3步类 似, 设置日志文件的初始大小、是否增长、增长方式及最大大小。 (5)单击“确定”按钮,数据库就创建完成了。 第7章 数据库基本概念和操作

  30. 7.2.2 SQL Server 2000数据库、表操作 2)修改数据库 l 增加或删除数据文件 l 改变数据文件的大小和增长方式 l 改变日志文件的大小和增长方式 l 增加或删除日志文件 l 增加或删除文件组 在进行任何数据库修改操作以前,都要在“企业管理器”中选择需要进行修改的数据库,在该数据库名上点击鼠标右键,出现快捷菜单,选择“属性”,将弹出数据库属性对话框,如下图所示。该对话框包括六个选项卡,通过“数据文件”和“事务日志”两个选项卡可以修改这两类文件的属性,还可增加或删除文件。 第7章 数据库基本概念和操作

  31. 7.2.2 SQL Server 2000数据库、表操作 增加或删除文件组选项卡 增加或删除数据文件改变数据文件的大小和增长方式选项卡 增加或删除日志文件改变日志文件的大小和增长方式选项卡 数据库属性对话框 第7章 数据库基本概念和操作

  32. 7.2.2 SQL Server 2000数据库、表操作 3)创建表 通过“企业管理器”创建表操作步骤: (1)启动SQL Server 企业管理器,用鼠标右键单击选择数 据库Student,在所出现的快捷菜单上选择“新建 (N)”“表(T)…”,将弹出如图编辑窗口。 第7章 数据库基本概念和操作

  33. 7.2.2 SQL Server 2000数据库、表操作 (2)在编辑窗口中分别输入或选择各列的名称、数据类型、是否 允许为空值等属性,在studentid列上单击鼠标右键,选择 “设置主键”菜单项,将studentid列设置为主键。 (3)在表的各列属性均编辑完成后,单击(保存)按钮,在所出现 的“选择表名”对话框中输入students,单击“确定”, students 表就创建完成。 第7章 数据库基本概念和操作

  34. 7.2.2 SQL Server 2000数据库、表操作 4)表记录的添加、修改和删除 在创建了一个表之后,使用过程中可能对表结构、约束或其它 列的属性需要进行修改。对一个已存在的表可以进行的修改操 作包括: l更改表名 l增加列 l删除列 l修改已有列的属性(列名、数据类型、是否为空值) 第7章 数据库基本概念和操作

  35. 7.2.2 SQL Server 2000数据库、表操作 向表中添加记录操作窗口 第7章 数据库基本概念和操作

  36. 7.2.2 SQL Server 2000数据库、表操作 2. 通过T-SQL命令进行数据库、表操作 1)使用CREATE DATABASE语句创建数据库 ▲语法: CREATE DATABASE database_name // 指定数据库名 [ ON 子句 ] // 指定数据库文件和文件组属性 [ LOG ON 子句 ] // 指定日志文件属性 其中: ldatabase_name:是所创建的数据库逻辑名称,其命名须 遵循SQL Server 2000的命名规则,最大长度为128个字符。 lON子句:指出了数据库的数据文件和文件组,其格式为: ON [PRIMARY][<filespec>[,…n]] [,<filegroup>[,…n]] 其中PRIMARY用来指定主文件。若不指定主文件,则 诸数据文件中的第一个文件将成为主文件。 第7章 数据库基本概念和操作

  37. 7.2.2 SQL Server 2000数据库、表操作 数据文件的描述主要给出文件的逻辑名、存储路径、大 小及增长特性(这些特征可以与界面创建数据库时对数 据库特征的设置相联系)。其语法定义为: <filespec>::= ( NAME = ‘逻辑文件名’ , FILENAME = ‘操作系统文件名’ [,SIZE = size] [,MAXSIZE = {max_size | UNLIMITED }] [,FILEGROWTH = growth_increament] ) <filegroup>定义文件组的属性,语法格式为: <filegroup>::=FILEGROUP 文件组名 <filespec>[,…n] 文件组中各文件的描述和数据文件描述相同。 lLOG ON子句:用于指定数据库事务日志文件的属性, 其定义格式与数据文件的格式相同。 第7章 数据库基本概念和操作

  38. 7.2.2 SQL Server 2000数据库、表操作 【例】创建Student的数据库 CREATE DATABASE Student ON ( NAME = 'Student_data', FILENAME = 'e:\sql\data\MSSQL\data\Student.mdf') GO 分析: 本例创建一个名为Student的数据库,数据库只包含一个主数据 文件和 一个主日志文件,它们均采用系统默认存储路径和文件 名,大小分别为 model数据库中主数据文件和日志文件的大小。 第7章 数据库基本概念和操作

  39. 7.2.2 SQL Server 2000数据库、表操作 2)使用ALTER DATABASE修改数据库 ▲语法: ALTER DATABASE database_name { ADD FILE <filespec>[,…n][ TO FILEGROUP filegroup_name ] // 在文件组中增加数据文件 | ADD LOG FILE <filespec>[,…n] // 增加日志文件 | REMOVE FILE logical_file_name // 删除数据文件 | ADD FILEGROUP filegroup_name // 增加文件组 | REMOVE FILEGROUP filegroup_name // 删除文件组 | MODIFY FILE <filespec> // 更改文件属性 | MODIFY NAME = new_dbname // 数据库更名 } 第7章 数据库基本概念和操作

  40. 7.2.2 SQL Server 2000数据库、表操作 下面说明主要关键字和子句的构成和作用: ldatabase_name:数据库名 lADD FILE子句:向数据库添加数据文件,文件的属性由<filespec> 给出,关键字TO FILEGROUP指出了添加的数据文件所在的文件组 (filegroup_name),缺省则为主文件组。 lADD LOG FILE子句:向数据库添加日志文件,日志文件的属性由 <filespec>给出。 lREMOVE FILE子句:从数据库中删除数据文件,被删除的数据文件由 其中的参数logical_file_name给出。当删除一个数据文件时,逻辑文件 与物理文件全部被删除。 lADD FILEGROUP子句:向数据库中添加文件组,被添加的文件组名由 参数filegroup_name给出。 lREMOVE FILEGROUP子句:删除文件组,被删除的文件组名由参数 filegroup_name给出。 lMODIFY FILE子句:修改数据文件的属性,被修改文件的逻辑名由 <filespec>的NAME参数给出,可以修改的文件属性包括: FILENAME、 SIZE、MAXSIZE和FILEGROWTH,一次只能修改其中的一个属性。 lMODIFY NAME子句:更改数据库名,新的数据库名由参数 new_dbname给出。

  41. 7.2.2 SQL Server 2000数据库、表操作 【例】设已经创建了数据库Student, • 它只有一个主数据文件,其逻辑文件名为Student_Data,物理文件名e:\sql\data\MSSQL\data\Student_Data.mdf,大小为5MB,最大大小为50MB,增长方式为按10%增长; • 有一个日志文件,逻辑名为Student_LOG,物理名为e:\sql\data\MSSQL\data\Student_Log.ldf,大小为2MB,最大大小为5MB,每次增长1MB。修改数据库Student现有数据文件的属性,将主数据文件的最大大小改为不限制,增长方式改为按每次5MB增长。 分析: 因为需修改主数据文件的两个属性,而使用ALTER DATABASE语句 一次只能修改数据文件的一个属性,所以需要执行两次 ALTER DATABASE命令。 第7章 数据库基本概念和操作

  42. 7.2.2 SQL Server 2000数据库、表操作 ALTER DATABASE Student MODIFY FILE (NAME = Student_Data,MAXSIZE = UNLIMITED) GO // 这是第一次,将主数据文件的最大大小改为不限制。 ALTER DATABASE Student MODIFY FILE (NAME = Student_Data,FILEGROWTH = 5MB) GO // 这是第二次,将主数据文件的增长方式改为按5MB增长。 第7章 数据库基本概念和操作

  43. 7.2.2 SQL Server 2000数据库、表操作 删除数据库的T-SQL命令是DROP。 ▲语法: DROP DATABASE database_name[,…n] 其中database_name是要删除的数据库名。 第7章 数据库基本概念和操作

  44. 7.2.2 SQL Server 2000数据库、表操作 3)使用CAREATE TABLE命令创建表 ▲语法: CREATE TABLE table_name ( {column_name datatype |identity | NOT NULL | NULL}) 其中: ●table_name为表名,必须遵守T-SQL标识符命名规则。 ● column_name为列名 ● datatype为列的数据类型 ● identity指出该列为标识符列, ● NULL表示列可取空值, ● NOT NULL表示列不可取空值。 第7章 数据库基本概念和操作

  45. 7.2.2 SQL Server 2000数据库、表操作 【例】在Student数据库中创建表students。 USE Student CREATE TABLE students ( studentid char(6) NOT NULL, name char(20) NOT NULL, sex bit NOT NULL, birthday smalldatetime NOT NULL, departmentid int NOT NULL, totalscore tinyint NULL, ) GO 分析: 首先使用USE Student命令将数据库Student指定为当前数据 库,然后使用CREATE TABLE语句在数据库Student中创建表 students。 第7章 数据库基本概念和操作

  46. 7.2.2 SQL Server 2000数据库、表操作 4)使用ALTER TABLE修改表结构 ▲语法: ALTER TABLE table_name {[ALTER COLUMN column_name // 修改已有列的属性 { new_data_type [ (precision,[,scale])] [NULL | NOT NULL] ]} | ADD {[<colume_definition>]}[,…n]// 增加新列 | DROP {[CONSTRAINT] constraint_name| COLUMN column}[,…n] // 删除列 第7章 数据库基本概念和操作

  47. 7.2.2 SQL Server 2000数据库、表操作 其中: ltable_name为表名。 lALTER COLUMN子句:用于说明修改表中指定列的属性,要修改的列名由column_name给出,new_data_type为被修改列的新的数据类型。 lADD子句:向表中增加新列,新列的定义方法与CREATE TABLE语句中定义列的方法相同。 lDROP子句:从表中删除列或约束,COLUMN参数中指定的是被删除的列名,constraint_name是被删除的约束名。 第7章 数据库基本概念和操作

  48. 7.2.2 SQL Server 2000数据库、表操作 【例】修改表students中已有列的属性:将name列长度由原来的 20改为10;将birthday列的数据类型由原来的smalldatetime改 为datetime。 USE Student ALTER TABLE students ALTER COLUMN name char(10) ALTER COLUMN birthday datetime GO 另外,删除表的T-SQL命令是DROP TABLE。 ▲语法: DROP TABLE table_name 其中table_name是要被删除的表名。 第7章 数据库基本概念和操作

  49. 7.2.2 SQL Server 2000数据库、表操作 5)表数据添加 ▲语法: INSERT table_name VALUES ( constant1,constant2,…) 该命令的功能是向由table_name指定的表中加入由 VALUES指定各列值的行。 例如: 要向Student数据库的表students中插入如下的一行: 990206 罗亮0 "1/30/1980" 1 150 可以使用以下的T-SQL语句: USE Student INSERT INTO students VALUES('990206','罗亮', 0 ,'1/30/1980', 1, 150) GO 第7章 数据库基本概念和操作

  50. 7.2.2 SQL Server 2000数据库、表操作 6)表数据删除 ▲语法: DELETE [FROM] { table_name | view_name } [WHERE <search_condition>] 该语句的功能为从table_name指定的表或view_name所指 定的视图中删除满足<search_condition>条件的行,若省 略该条件,表示删除所有行。 第7章 数据库基本概念和操作

More Related