第5章多表与数据库的操作

第5章多表与数据库的操作
第5章多表与数据库的操作

教学过程:

组织教学:学生起立、致礼,教师清查人数并集中学生注意力。

引入新课:

在日常应用中,虽然单个表已经能够完成不少工作,但很多情况下,为了获得更准确、更详细的信息,需要在多个表之间建立某种联系,以便提取有用信息。当需要使用的数据来自于不同的数据表时,就要同时对几个数据表的数据进行的操作。这一讲我们学习多表操作。

讲授新课:多表操作

1.工作区

(1)工作区的概念

工作区就是内存中的一块区域。打开表文件的实际操作就是从磁盘将数据表调入内存的某个工作区。

强调:在每个工作区中只能打开一个表文件及其相关文件(如索引文件、查询文件等)如果同时要打开多个数据表文件,则需要指定多个工作区并分别打开不同的数据表文件。但无论打开多少工作区,在任何一个时刻用户只能选择一个工作区进行操作,这个工作区称为当前工作区。

(2)工作区号与别名

不同的工作区可以用其编号或别名进行区分。

Visual FoxPro系统提供32767个工作区,每个工作区可以用1~32767作为各工作区的编号,称为工作区号。启动Visual FoxPro系统时,系统默认编号为1的工作区为当前工作区。工作区的别名有两种,一种由系统定义;另一种由用户定义。

命令格式:USE <数据表文件名> ALIAS < 别名>

功能:打开指定的数据表文件,并给表文件指定一个别名。

【例5.1】打开工资表,并给该表指定别名GZ。

USE 工资表 ALIAS GZ

(3)选定工作区

当需要同时对多个数据表进行操作时,须使用选择工作区的命令。

命令格式:SELECT <工作区号|别名|0>

功能:选择所指定的工作区作为当前工作区。

说明:<工作区号>由1,2,3,…32767 表示。使用别名时,对于1~10号工作区可使用系统给定的别名A~Z或数据表的别名;对于是1~10号工作区之外的工作区则使用数据表的别名。(强调)命令SELECT 0 表示选择当前未使用的工作区中的最小号工作区作为当前工作区。【例5.2 】在1号工作区打开工资表,在2号工作区打开员工表。

SELECT 1

USE 工资表

SELECT 2

USE 员工表

(4)工作区的互访

在当前工作区中可以访问其他工作区中已打开的表的数据,可用别名.字段名或别名->字段名来实现。需要注意的是互访时字段前不能使用工作区号。

【例5.3】要求显示员工编号为“010301”的职工编号、姓名以及基本工资。

SELECT 3

USE 员工表

LOCATE FOR 员工编号="010301"

SELECT 2

USE 工资表

LOCATE FOR 员工编号="010301"

DISPLAY 员工编号, c. 姓名,基本工资

2.建立表间临时关系/关联操作

(1)关联的概念

在不同的工作区中打开的数据表都有各自的记录指针,用以指向当前记录。建立关联,就是在不同工作区的记录指针之间建立临时的联动关系,使得当一个工作区的数据表的记录指针移动时,另一个工作区的数据表的记录指针能随之移动。

关联是建立在两个表之间,这两个表分别为主表和子表。建立好关联后,当主表的记录指

针移动时,子表的记录指针会自动移到满足关联条件的记录上。

强调:主表的指针控制子表的控制

(2)建立关联

建立关联(即建立表间临时关系)有两种方法。一种是通过数据工作期窗口建立关联,另一种是命令方式来建立关联。

【例5.4】建立员工表与工资表的一对一关联,主表为员工表,子表为工资表。(演示操作)

操作步操如下:

(1)单击“窗口”菜单下的“数据工作期”命令,打开“数据工作期”对话框,如图5-7所示。

(2)在数据工作期窗口中,单击“打开”按钮,弹出“打开”对话框,选定员工表,单击“确定”按钮,将其放入“数据工作期”对话框中左边的“别名”框中,重复这一步,再将“工资表”放入。

(3)在数据工作期窗口的“别名”框中,选择主表“员工表”,单击“关系”按钮,将其放入“关系”框中。

(4)在数据工作期窗口的“别名”框中,选择子表“工资表”,弹出“设置索引顺序”对话框。

若工资表未按员工编号建立索引,则需要先建立索引,此时可以单击“属性”按钮,在出现的“属性”对话框中,单击“修改”按钮,在出现的“表设计器”对话框中建立索引。

(5)在“设置索引顺序”对话框中,选择工资表中已建立的索引标识,即“工资表:员工编号”,再单击“确定”按钮。

(6)在“来源于表”的下拉列表框中选择主表“员工表”,再双击选择索引字段“员工编号”,单击“确定”按钮,即建立了两表之间临时关系。

(7)建立关联后,先浏览主表,改变记录指针,再浏览子表,观察子表中记录指针的变化。命令方式建立关联:

①一对一的关联

一对一的关联是指主表中的记录在子表中只有一条记录满足关联条件,而且子表记录在主表中也只有一条记录相匹配。图5-1中所表示的关联就是一对一的关联。

命令格式:SET RELATION TO [<关联表达式1> INTO <工作区号1> | <别名1> [,<关联表达式2> INTO <工作区号2> | <别名2>…] ] [ADDITIVE]

功能:使当前工作区的数据表(主表)与INTO子句所指定的工作区上的一个或多个表(子表)按关联表达式建立关联。

说明:建立关联前,必须在不同工作区中打开主表和子表,并选择主表所在工作区为当前工作区。INTO子句中的<工作区号>或 <别名>指定子表。如果选用“数值表达式”建立关联,则当主表的记录指针移动时,子表的记录指针移至记录号与数值表达式值相等的记录上。此时,子表不需要建立索引,只是将数值表达式的值作为一个记录号的值进行关联,相当于在子表中执行一条GOTO <数值表达式> 命令。若该表达式的值大于子表的文件记录总数,则记录指针指向表尾。

【例 5.5】在员工表与工资表之间按职工编号建立一对一的关联。显示以下内容:(1)所有职工的姓名,基本工资,水电费;(2)显示所有已婚职工的姓名、职称和职称津贴。

命令序列如下:

SELECT 1

USE 工资表 && 打开子表

INDEX ON 员工编号 TAG ZGBH && 在子表中建立索引

SELECT 2

USE 员工表 && 打开主表

SET RELATION TO 员工编号 INTO A && 建立一对一的关联

LIST 姓名,A->基本工资,A->水电费

LIST 姓名,职称,A->职称津贴 FOR 婚否

【例5.6】建立员工表、工资表和部门表之间的关联。要求显示职工的姓名,基本工资和所在部门。

命令序列如下:

SELECT 2

USE 工资表 && 打开子表

INDEX ON 员工编号 TAG BMBH

SELECT 3

USE 部门表 && 打开子表

INDEX ON 部门编号 TAG BMBH

SELECT 1

USE 员工表 && 打开主表

SET RELATION TO 员工编号 INTO B,部门编号 INTO C

LIST 姓名,B->基本工资,C->部门名称

②一对多的关联

在多表关联中,如果主表中一条记录与子表中的多条记录相匹配,当需要访问子表中的多条匹配记录时,就需要建立一对多的关联。

命令格式:SET SKIP TO [<别名1>] [,<别名2> …]

功能:建立当前表(主表)与子表之间的一对多的关联。

【例5.7】部门表与员工表之间按部门编号建立一对多的关联。要求显示职工的姓名和所在部门。

命令序列如下: SELECT 1

USE 员工表 ALIAS YG

INDEX ON 部门编号 TAG BMBH

SELECT 2

USE 部门表

SET RELATION TO 部门编号 INTO YG

SET SKIP TO A

LIST A->姓名,部门名称

思考题:有如下命令序列

SELECT A

USE DEM1

SELECT B

USE DEM2

SET RELATION TO RECNO( ) INTO A

SELECT C

USE DEM3

SET RELATION TO RECNO( ) INTO B

SELECT B

GO 8

?RECNO( ),RECNO( 1),RECNO(3)

执行此命令序列后,屏幕显示的记录号是( ).

A) 1 8 8 B)8 1 1 C) 8 8 1 D)8 8 8

3.表的联接

命令格式: JOIN WITH <工作区号>|<别名> TO <文件名> [FOR <条件>] [FIELDS <字段名表>]功能:该命令将当前表与指定工作区的表按指定的条件进行联接,联接后产生一个新的数据表。

联接中最常用的是等值联接,即联接条件为两个表中公共字段值对应相等。

【例5.8】以员工编号相等为条件联接员工表与工资表组合生成一个新数据表XSCJ .DBF,其中包括员工编号,姓名,基本工资和职称津贴四个字段。

命令序列如下:SELE 1

USE 工资表

SELE 2

USE 员工表

JOIN WITH A TO XSCJ FOR 员工编号=A.员工编号;

FIELDS 员工编号,姓名,A.基本工资,A.职称津贴

SELE 3

USE XSCJ

LIST

复习小结:

1.工作区:工作区是内存中的一块缓冲区,每个工作区只能打开一个表文件。在当前工作区中访问其他工作区中的数据时,要在数据前加前缀。

2.关联:可用数据工作期窗口操作和SET RELATION TO命令实现建立关联。

3.联接:用JOIN命令实现两表的联接操作。

布置作业:

作业:自学“5.2数据库的设计”

上机:实验教程中实验九关于关联与联接操作。

教学过程:

组织教学:学生起立、致礼,教师清查人数并集中学生注意力。

复习检查:

1.工作区

(提问)SELECT 0命令的功能是什么?

答:选择空闲的最小工作区号为当前工作区。

2.关联

(提问)建立一对一关联的命令格式是?

答:SET RELTATION TO <关联表达式> INTO <别名>

3.联接

(提问)建立联接的两表要不要先索引?

答:不要。

讲授新课:

数据库及数据库表的操作

1.数据库的创建

(1)菜单方式操作(演示操作步骤)

(2)命令方式

命令格式:CREATE DATABASE [<数据库文件名>|?]

功能:建立新数据库。

【例5.9】在e:\my data\下建立文件名为“工资管理”的数据库文件。

CREATE DATABASE e:\my data\工资管理

注意:若VFP的默认目录是e:\my data,则上条命令可省略路径,直接写文件名

2.数据库的打开

(1)菜单方式操作(演示操作步骤)

(2)命令方式

命令格式:OPEN DATABASE [<数据库文件名> | ?] [NOUPDATE] [EXCLUSIVE|SHARED]

功能:打开一个数据库文件,与之相关数据库备注文件(.dct)与索引文件(.dcx)也一起被打开。

【例5.10】打开数据库文件e:\my data\工资管理.dbc。

OPEN DATABASE e:\my data\工资管理

在Visual FoxPro中,操作时可以打开多个数据库,但在同一时刻只有一个当前数据库,所有作用于数据库的命令或函数都是对当前数据库而言。当打开多个数据库时,系统将最后被打开的数据库作为当前数据库,也可从常用工具栏上的数据库下拉列表中选择一个打开的数据库作为当前数据库,或者使用SET DATABASE命令选择一个数据库作为当前数据库。

3.数据库的关闭

数据库文件操作完成后,必须将其关闭,以确保数据的安全性。

命令格式: CLOSE [ ALL | DATABASE ]

功能:关闭当前打开的数据库。

说明:(1)ALL用于关闭所有对象,例如,数据库、表、索引等。

(2)DATABASE用于关闭当前数据库和数据库表。

4.数据库的修改

命令格式: MODIFY DATABASE [<数据库文件名> | ?]

功能:打开指定的数据库文件所对应的数据库设计器,以便对该数据库中的各种数据库对象进行修改操作。

说明: <数据库文件名>指定要修改的数据库文件。如果未指定数据库文件名或用“?”代替数据库文件名,则出现“打开”对话框。

5.数据库的删除

命令格式: DELETE DATABASE [<数据库文件名> | ?] [DELETETABLES] [RECYCLE]

功能:删除指定的数据库文件。

说明:(1)<数据库文件名>指定要删除的数据库名,此时要删除的数据库必须处于关闭状态,

被删除的数据库中的表成为自由表。

(2)选择DELETETABLES选项,在删除数据库文件的同时从磁盘上删除该数据库所含的表等相关文件。

(3)选择RECYCLE选项,则将删除的数据库文件和表文件等放入Windows的回收站中,需要时还可以还原它们。

【例5.10】彻底删除数据库文件e:\my data\工资管理.dbc以及其中的数据表等相关文件。

DELETE DATABASE e:\my data\工资管理 DELETETABLES

6.数据库表的基本操作

(1)添加数据库表

菜单方式(演示操作过程)

(2)建立新数据库表

菜单方式(演示操作过程)

命令方式:CREATE TABLE <表文件名>

(3)从数据库中移去表

菜单方式(演示操作过程)

(4)修改数据库表

包括修改表中数据、设置字段有效性及记录有效性。(演示操作过程)

7.表间永久关系的建立

多表间的永久关系在查询和视图中能作为多表联接的条件,也可以作为表单和报表的默认关系,永久关系被存储在数据库文件中,可以一直使用。

在数据库的两个表间建立永久联系时,必须先选择父表的主索引或候选索引,而子表中的索引类型决定了要建立的永久联系类型。如果子表中的索引类型是主索引或候选索引,则建立起来的就是一对一关系。如果子表中的索引类型是普通索引,则建立起来的就是一对多关系。

建立过程是:在数据库设计器中,先用鼠标左键选中父表中的主索引字段,然后拖至与其建立联系的子表中的对应索引字段处,再松开鼠标左键,数据库中的两个表间就有了一个连线,其永久关系建立完成。

(演示操作)

8.设置参照完整性

对于具有永久关系的两个数据库表,当对一个表更新、删除或插入记录时,另一个表并未作相应变化,这就破坏了数据的完整性。Visual FoxPro中提供参照完整性生成器供用户指出保证数据完整性的要求。

在建立参照完整性之前必须首先清理数据库。

(1)打开参照完整性生成器

打开参照完整性生成器窗口有三种方法:

①从数据库设计器快捷菜单中选择“编辑参照完整性”命令。

②选择数据库菜单中的“编辑参照完整性”命令。

③在数据库设计器中双击两个表之间的连线,在编辑关系对话框中选择参照完整性按钮。(2)设置参照完整性

参照完整性生成器窗口有更新规则、删除规则和插入规则三个选项卡;选项卡中有级联、限制和忽略三个单选按钮以及一个表格,表格中每一行代表一个永久关系。

复习小结:

1.数据库的基本操作:建立、打开、修改、关闭操作。

2.数据库表的基本操作:添加、新建、修改、删除等操作。

3.表间永久关系的建立:先为两表建立索引并指定索引类型,然后拖动主表的索引字段。4.设置参照完整性:参照完整性生成器窗口有更新规则、删除规则和插入规则三个选项卡,选定一个单选按钮后确定即可。

布置作业:

上机:实验教材中实验九。

实验一ACCESS数据库及表的操作

可编辑可修改 实验一数据库及表的操作 实验类型:验证性实验课时:_6_学时指导教师: _______________ 时间:2013年月日课次:第___________________ 节教学周次:第________ 周 实验分室:_______________ 实验台号:__________ 实验员:_________________ 一、实验目的 1.掌握数据库的创建及其它简单操作 2.熟练掌握数据表建立、数据表维护、数据表的操作 二、实验内容与要求 1.数据库的创建、打开、关闭 2.数据表的创建:建立表结构、设置字段属性、建立表之间关系、数据的输入 3.数据表维护:打开表、关闭表、调整表外观、修改表结构、编辑表内容 4?数据表的操作:查找替换数据、排序记录、筛选记录 三、实验步骤 案例一:创建数据库 1.创建空数据库 要求:建立“教学管理.accdb ”数据库,并将建好的数据库文件保存在“实验一”文件夹中。 操作步骤:

IS 1 丿小? e 叮亍 Micrtilitil ftfdwvi 口 可审业 a 站 j-t 4审时 OffiCfLC WF gm ■ *陆 (2)单击険'I 按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“ 件夹中,单击“确定”按钮,如图 1-2所示。 (3)这时返回到access 启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件 扩展名,access 将自动添加上。 (4 )在右侧窗格下面,单击“创建”命令按钮,如图 1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表 1的数据表,并以数据表视图方式打开这 个表1,如图1-3所示。 J 曰归 图1-1 创建教学管理数据库 (1 )在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库” ,在右侧窗格的文件名文本 框中,给出一个默认的文件名“” 。把它修改为“教学管理”如图 1-1所示。 实验一”文

VFP数据库的基本操作习题

1.在Visual FoxPro的命令窗口中输入CREATE DATA命令以后,屏幕会出现一个创建对 话框,要想完成同样的工作,还可以采取如下步骤( )。 A)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选按钮,再单击“新建文件”命令按钮 B)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选按钮,再单击“向导”命令按钮 C)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选按钮,再单击“新建文件”命令按钮 D)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选按钮,再单击“向导”命令按钮 2.一个数据库名student,要想打开数据库,应使用命令()。 A)OPEN student B)OPEN DATA student C)USE DATA student D)USE student 3.在使用USE命令打开表文件时,能够同时自动打开一个相关的()。 A)备注文件B)文本文件C)内存变量文件D)屏幕格式文件 4.删除数据库表中的记录有()方式。 A)1种B)2种C)3种D)4种 5.如果需要给当前表末尾增加一个空白记录,应使用的命令是()。 A)APPEND B)APPEND BLANK C)INSERT D)EDIT 6.要从表中物理删除一条记录,应使用命令()。 A)首先用DELETE命令,然后用ZAP命令 B)直接用ZAP命令 C)首先用DELETE命令,然后用PACK命令 D)直接用DElETE命令 7.要彻底删除表中的所有记录,可以使用命令( )。 A)PPEND B)DELETE C)ZAP D)RECALL 8.用命令REPLACE修改记录的特点是()。 A)边查阅边修改B)数据表之间自动更新 c)成批自动替换D)按给定条件顺序修改更新 9.职工数据表中有D型字段“出生日期”,苦要显示职工生日的月份和日 期,应当使用命令()。 A)?姓名+MONTH(出生日期)+”月”+DAY(出生日期)+“日” B)?姓名+STR(MONTH(出生日期)+”月”+DAY(出生日期))+”日” c)?姓名+SUBSTR(MONTH(出生日期))+”月”+SUBSTR(DAY(出生日期)) +”日“ D)?姓名+STR(MONTH(出生日期),2)+”月”+STR(DAY(出生日期),2) +”日” 10.在以下各命令序列中总能实现插入一条空记录并使其成为第八条记录的是()。 A)SKIP 7 B)GOTO 7 INSERT BLANK INSERT BLANK C)LOCATE FOR RECNO( )=8 D)GOTO 7 INSERT BLANK INSERT BIlANK BEFORE

数据库的创建与表间关系的各种操作

学科实验报告 班级2010级金融姓名陈光伟学科管理系统中计算机应用实验名称数据库的创建与表间关系的各种操作 实验工具Visual foxpro 6.0 实验目的1、掌握数据库结构的创建方式 2、表间的关联关系 实验步骤一、建立数据库。 1、在项目管理器中建立数据库。首先选择数据库,然后单击“新建”建立数据库,出现的界面提示用户输入数据库的名称,按要求输入后单击“保存”则完成数据库的建立,并打开i“数据库设计器”。 2、从“新建”对话框建立数据库。单击工具栏上的“新建”按钮或者选择菜单“文件——新建”打开“新建”对话框,首先在“文件类型”组框中选择“数据库”,然后单击“新建文件”建立数据库,后面的操作和步骤与1相同。 3、用命令交互建立数据库。命令是create database【databasename ▏?】 二、表间关系的各种操作。 1、创建索引文件。可以再创建数据表时建立其结构复合索引文件,但是也可以先建立好数据表,以后再创建或修改索引文件。 2、索引的操作。A、打开与关闭。要使用索引,必须先要打开索引。一旦数据表文件关闭所有相应的索引文件也就自动关闭了。B、确定主控索引。可以使用命令确定当前主控索引。命令格式1:set order to 【tag】<索引标识>【ascending| desceding】命令格式2:use<表文件名>order【tag】<索引标识>【ascending | esceding】C、删除索引标识。要删除结构复合索引文件中的索引标识,应当打开数据表文件,并打开其表设计器对话框。在“索引”页面中选定要删除的索引标识后,单击“删除”按钮删除。 3、创建关联。在创建数据表之间的关联时,把当前数据表叫做父表,而把要关联的表叫做子表。必须保证两个要建立关系的数据表中存在能够建立联系的同类字段;同时要求每个数据表事先分别以该字段建立了索引。A、建立表间的一对一的关系。在“数据库设计器”窗口中选择M表中的字段,并按住左键拖到关联表H中对应字段上,放开鼠标左键。这是可以看到在两个表之间的相关字段上产生了一条连线,表明两个表之间已经建立了“一对一”关系。B、建立表间一对多的关系。将M表的名称字段MC设定为主索引,或者候选索引;H表中的JG字段已经设置成普通索引。在“数据库设计器”窗口中将MC字段拖到关联表中对应字段JG上,放开鼠标左键。这时可以看到在两个表之间的相关字段上产生了一条显然与“一对一”关联不同形式的连线,表明两个表之间已经建立了“一对多”关系。 4、调整或删除关联。A、删除关联。在数据库设计器对话框窗口中,首先必须用鼠标左键单击关联线,该连线变粗了说明它已被选中。如果要删除可敲【del】。也可以单击鼠标右键在弹出对话框窗口中单击“删除关联”选项。B、编辑关联。在数据库设计器对话框窗口中,首先必须用鼠标左键单击关联线,该连线变粗了说明已被选中。在主菜单“数据库”选项的下拉菜单中的“编辑关系”选项,也可以单击鼠标右键在弹出对话框窗口中单击“编辑关系”选项。 5、设置数据表之间的参照完整性。在对数据库表建立关联关系后,就可以设置两个相关数据表之间操作的有效性原则。这些规则可以控制相关表中的记录的插入、删除或修改。

Access2010_数据库及表的操作

《小型数据库应用与开发》 操作指导 编著:李坤 2014年4月

实验一数据库及表的操作 一、实验目的 1.掌握数据库的创建及其它简单操作 2.熟练掌握数据表建立、数据表维护、数据表的操作 二、实验内容与要求 1.数据库的创建、打开、关闭 2.数据表的创建:建立表结构、设置字段属性、建立表之间关系、数据的输入 3.数据表维护:打开表、关闭表、调整表外观、修改表结构、编辑表内容 4.数据表的操作:查找替换数据、排序记录、筛选记录 三、实验步骤 案例一:创建数据库 1.创建空数据库 要求:建立“教学管理”数据库。 操作步骤: 图1-1创建教学管理数据库 (1)在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库”,在右侧窗格的文件名文本框中,给出一个默认的文件名“Database1.accdb”。把它修改为“教学管理”如图1-1所示。 (2)单击按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,单击“确定”按钮,如图1-2所示。 (3)这时返回到access启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件扩展名,access将自动添加上。 (4)在右侧窗格下面,单击“创建”命令按钮,如图1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表1的数据表,并以数据表视图方式打开这个表1,如图1-3所示。

图1-2“文件新建数据库”对话框 (6)这时光标将位于“添加新字段”列中的第一个空单元格中,现在就可以输入添加数据,或者从另一数据源粘贴数据。 图1-3表1的数据表视图 2.使用模板创建Web数据库 要求:利用模板创建“联系人Web数据库.accdb”数据库。 操作步骤: (1)启动Access。 (2)在启动窗口中的模板类别窗格中,双击样本模板,打开“可用模板”窗格,可以看到Access提供的12个可用模板分成两组。一组是Web数据库模板,另一组是传统数据库模板——罗斯文数据库。Web 数据库是Access2010新增的功能。这一组Web数据库模板可以让新老用户比较快地掌握Web数据库的创建,如图1-4所示 (3)选中“联系人Web数据库”,则自动生成一个文件名“联系人Web数据库.accdb”,保存位置在默认Window系统所安装时确定的“我的文档”中显示在右侧的窗格中,参见图1-3所示当然用户可以自己指定文件名和文件保存的位置,如果要更改文件名,直接在文件名文本框中输入新的文件名,如要更改数据库的保存位置,单击“浏览”按钮,再打开的“文件新建数据库”对话框中,选择数据库的保存位置。

数据库与表的基本操作

第四章数据库与表的基本操作 实验4-1 数据库及表的操作 (一)实验目的 1.掌握创建数据库的基本操作方法。 2.熟练掌握创建表结构和输入记录的操作方法。 3.熟练掌握修改表结构、浏览和修改表记录数据的操作。 4.熟练掌握建立索引的操作。 5.掌握创建表间联系的操作。 (二)实验内容及步骤 1.创建数据库 【实例4-1】在实验2-1所建立的“教学管理.pjx”项目中,创建一个“学生成绩.dbc”数据库。 操作步骤如下: (1)打开“教学管理.pjx”项目。 (2)在“项目管理器”窗口中,选择“数据库”,然后单击“新建”按钮,打开“新建数据库”对话框,单击其中的“新建数据库”按钮,打开“创建”对话框,如图4-1所示。 图4-1“创建”对话框 (3)在“保存在”文本框中,选择保存数据库的文件夹“程序VX”;在“数据库名”文本框中,输入数据库名称“学生成绩”。 (4)单击“保存”按钮,即在指定位置建立一个“学生成绩.dbc”数据库文件。 此时,在VFP主窗口中弹出一个“数据库设计器”窗口,同时还激活了“数据库设计器”工具栏,如图4-2所示。

18 数据库应用学习与实训指导 图4-2“数据库设计器”窗口 2.创建数据表 【实例4-2】在“教学管理.pjx”项目中,创建学生表(Student.dbf)、成绩表(Grade.dbf)、课程表(Course.dbf)、授课表(Teach.dbf)和教师表(Teacher.dbf)。各个表的结构和数据记录如图4-3、图4-4、图4-5、图4-6、图4-7、图4-8、图4-9、图4-10、图4-11和图4-12所示。 图4-3学生表(Student.dbf)的结构 图4-4学生表(Student.dbf)的记录浏览窗口

SQL 数据库多表连接详细讲解

SQL多表连接 应用背景 数据库是由多张表组成的存储结构,并通过多张表之间的关系建立起完整的有效的数据存储形式,形成关系型数据库。作为数据查询语言SQL,提供了功能强大的数据表连接查询功能,使多张表格之间形成有效的数据联系,使得关系数据库在大型数据库应用中占据了主角地位。 一个普通的大型数据库应用程序所使用的数据库中,有多达几百张表的数据,那么如何将这些表高效的有机的联系起来,就成为设计关系数据库的一个重要指标。优良的数据库设计指标包括: 1.减少数据冗余,去除掉多余的数据冗余,可以通过建立表之间的连接关系完成。 2.数据更新正确,不能因为表之间存在关系后,使得更新记录出现不正常的数据。 3.添加数据正常,添加数据过程中,应该保持数据表之间的关系,确定表之间的连接。 4.查询简便灵活,在建立数据连接的查询过程中,连接清晰简便,操作灵活准确。 数据库设计是应用软件成功与否的一项重要标志。设计数据库,除与系统分析结果,设计员的水平等有关外,还可以参考一些规范的设计范式,下面简单介绍数据库的2个基本设计范式: 1.第一范式:要求表的每列都是不可再分的简单数据项,所以1对N 关系就必须用多表表示,而不能用一张表表示。 2.第二范式:表中的每一个非主键列必须完全函数依赖于主键,就是说表中除主键之外的其他列,都必须通过主键能够唯一确定。 数据库的设计非常复杂,没有一成不变的东西,需要就地取材,解决问题,简单化问题。 知识要点 (1) 传统连接 连接就是将多个表中的数据连接到一起的查询,即连接操作可以在一个Select语句中完成从多个表中查找和处理数据,使用连接时可以使用名字相同的不同表的列,也可以不同,但要求连接的列不需可连接,即数据类型相同。 传统的连接语法如下: Select * from Tblname1 T1,Tblname2 T2 where T1.column=T2.column 连接SQL语句的明显标志为在From子句后边,有多个表Tblname1,

实验二 SQL Server 数据表的基本操作与查询

实验二SQL Server数据表的基本操作 一、实验目的 1.掌握创建数据库和表的操作。 2.熟悉SQL Server查询分析器环境。 3.掌握基本的SELECT查询及其相关子句的使用。 4.掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。 二、实验内容 1.创建XSCJ数据库。 2.在XSCJ数据库中创建学生情况表XSQK,课程表KC,学生成绩表XS_KC。 3.在XSQK、KC、XS_KC表中输入数据。 4.启动SQL Server 2000 查询分析器环境。 5.涉及多表的简单查询。 6.涉及多表的复杂查询。 三、实验步骤 1.创建SQL SERVER数据库与数据表 1) 创建XSCJ数据库。 2) 打开创建的 XSCJ数据库,并在“SQL Server Enterprise Mananger” 窗口的右边窗口中选择“表”对象。 3) 选择“操作”菜单中的“新建表”命令,打开SQL Server的表编辑器 窗口。 4) 根据表2-1所示的表结构增加新列。 5) 点击快捷工具栏上的保存快捷按钮,在弹出的“选择名称”对话框中 输入表名XSQK,然后单击“确定”按钮,关闭表编辑器窗口,完成新 表的创建。 6) 打开“表”对象,在“SQL Server Enterprise Manager”窗口的右边 窗口中选择刚才创建的“XSQK”表。 7) 选择“操作”菜单中的“打开表”子菜单下的“返回所有行”命令, 打开表的数据记录窗口。

8) 输入的学生情况数据记录见表2-2。 表2-2 学生情况记录 9) 用同样方法创建课程表KC,表的结构见表2-3所示,表的内容见表2-4 所示。 表2-4 课程表记录 10)创建成绩表XS_KC,表的结构见表2-5所示,表的内容见表2-6所 示。

2000数据表的基本操作

实验二SQL Server 2000数据表的基本操作 一、实验目的 1.掌握创建数据库和表的操作。 2.熟悉SQL Server 2000查询分析器环境。 3.掌握基本的SELECT查询及其相关子句的使用。 4.掌握复杂的SELECT查询,如多表查询、子查询、连接和联合查询。 二、实验内容 1.创建XSCJ数据库。 2.在XSCJ数据库中创建学生情况表XSQK,课程表KC,学生成绩表XS_KC。 3.在XSQK、KC、XS_KC表中输入数据。 4.启动SQL Server 2000 查询分析器环境。 5.涉及多表的简单查询。 6.涉及多表的复杂查询。 三、实验步骤 1.创建SQL SERVER数据库与数据表 1) 创建XSCJ数据库。 2) 打开创建的 XSCJ数据库,并在“SQL Server Enterprise Mananger” 窗口的右边窗口中选择“表”对象。 3) 选择“操作”菜单中的“新建表”命令,打开SQL Server的表编辑器 窗口。 4) 根据表2-1所示的表结构增加新列。 5) 点击快捷工具栏上的保存快捷按钮,在弹出的“选择名称”对话框中 输入表名XSQK,然后单击“确定”按钮,关闭表编辑器窗口,完成新 表的创建。 6) 打开“表”对象,在“SQL Server Enterprise Manager”窗口的右边 窗口中选择刚才创建的“XSQK”表。 7) 选择“操作”菜单中的“打开表”子菜单下的“返回所有行”命令, 打开表的数据记录窗口。

8) 输入的学生情况数据记录见表2-2。 表2-2 学生情况记录 9) 用同样方法创建课程表KC,表的结构见表2-3所示,表的内容见表2-4 所示。 表2-4 课程表记录 10)创建成绩表XS_KC,表的结构见表2-5所示,表的内容见表2-6所 示。

数据库的多表操作

实验二数据库定义 课程名称:数据库原理实验类型:综合型 实验名称数据库定义学时2学时 实验目的: (1)使学生掌握E_R图的设计方法,并能将E_R图转换成关系模式; (2)熟悉SQL DDL和DML语言,能够完成基本的表结构的定义、修改; (3)掌握数据库完整性约束定义 实验原理: 1.将E_R图转换为关系的方法: ?一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的 码 ?一个1:1联系可以转换为一个独立的关系模式,也可以与任意对应的关系模式合并 ?一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并 ?一个m:n联系转换为一个关系模式 三个或三个以上实体间的一个多元联系可以转换为一个关 实验内容: 假设某公司的业务规则如下: (1)公司下设几个部门,如技术部、财务部、市场部等。 (2)每个部门承担多个工程项目,每个工程项目属于一个部门。 (3)每个部门有多名职工,每一名职工只能属于一个部门。 (4)一个部门可能参与多个工程项目,且每个工程项目有多名职工参与施工,一个职工可以参与多个项目。根据职工在工程项目中完成的情况发放酬金。 (5)工程项目有工程号、工程名两个属性;部门有部门号、部门名称、办公电话和办公地点等属性;职工有职工号、姓名、性别属性,出生日期; 问题: 1.根据上述规则设计E-R模型;

2.将E-R模型转换成关系数据模型; 部门(部门号,部门名称,办公地点,办公电话) 项目(工程号,工程名,部门号) 员工(职工号,姓名,性别,出生年龄,部门号) 承担(项目号,职工号,工资) 3.利用SQL语句定义上述关系,要求: (1)为每个关系定义主码和外码; (2)职工姓名、部门名称不能取空值,并且部门名称是唯一的; (3)职工的性别只能取“男”和“女”,默认值为“男”; (4)部门号具有类似“B01”的形式,即每个部门号的首字符为“B”,其余两个字符为数字。 (5)酬金不低于2000元。 4.修改部门号的约束,改为“B001”的形式,每个部门号的首字符为“B”,其余三个字符为数字。 create database company; create table a (ano char(6) check(ano between'B001'and'B999') primary key, aname varchar(8) not null, age smallint, aphone char(6), aaddress char(10) ) create table b (bno char(6) primary key, bname varchar(20), ano char(6), foreign key(ano) references a on delete cascade ) create table employees (employeeID char(6) primary key, employeename char(6) not null, sex char(2) check(sex='男' or sex='女') default('男'), brithday char(10), ano char(6), foreign key(ano) references a on delete cascade ) create table cheng (employeeID char(6), bno char(6), salary int check(salary>=2000), primary key(bno,employeeID), foreign key(bno)

Access实验- 数据库创建及表的操作

ACCESS实验数据库及表的操作 一、实验目的 1.掌握数据库的创建及其它简单操作 2.熟练掌握数据表建立、数据表维护、数据表的操作 二、实验内容与要求 1.数据库的创建、打开、关闭 2.数据表的创建:建立表结构、设置字段属性、建立表之间关系、数据的输入 3.数据表维护:打开表、关闭表、调整表外观、修改表结构、编辑表内容 4.数据表的操作:查找替换数据、排序记录、筛选记录 三、实验步骤 案例一:创建数据库 1.创建空数据库 要求:在移动盘上建立“\experiment\ACCESS\实验一”文件夹,并在其下建立“教学管理.accdb”数据库。 创建数据库文件操作步骤: 图1-1创建教学管理数据库 (1)在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库”,在右侧窗格的文件名文本框中,给出一个默认的文件名“Database1.accdb”。把它修改为“教学管理”如图1-1所示。 (2)单击按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“\ experiment\ACCESS\实验一”文件夹中,单击“确定”按钮,如图1-2所示。 (3)这时返回到access启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件扩展名,access将自动添加上。 (4)在右侧窗格下面,单击“创建”命令按钮,如图1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表1的数据表,并以数据表视

图方式打开这个表1,如图1-3所示。 图1-2“文件新建数据库”对话框 (6)这时光标将位于“添加新字段”列中的第一个空单元格中,现在就可以输入添加数据,或者从另一数据源粘贴数据。 图1-3表1的数据表视图 2.使用模板创建Web数据库 要求:利用模板创建“联系人Web数据库.accdb”数据库,保存在“\ experiment\ACCESS\实验一”文件夹中。 操作步骤: (1)启动Access。 (2)在启动窗口中的模板类别窗格中,双击样本模板,打开“可用模板”窗格,可以看到Access提供的12个可用模板分成两组。一组是Web数据库模板,另一组是传统数据库模板——罗斯文数据库。Web数据库是Access2010新增的功能。这一组Web数据库模板可以让新老用户比较快地掌握Web数据库的创建,如图1-4所示 (3)选中“联系人Web数据库”,则自动生成一个文件名“联系人Web数据库.accdb”,保存位置在默认Window系统所安装时确定的“我的文档”中显示在右侧的窗格中,参见图1-3所示

实验报告1 数据库及表基本操作

实验报告一数据库及表基本操作 姓名:全青青学号:1002010117 班级:无机非一班日期:2 请填入你的班级和做实验的日期。按照《数据库技术及应用——习题与实验指导》第一部分实验指导中“实验三熟悉Access系统集成环境”、“实验四数据库操作”、“实验五表操作”和预习“实验一数据库设计”、“实验二SQL语言应用”的实验内容,边完成各项实验操作,边按要求填写该实验报告。 一、实验目的 1.掌握Access 2003的基本操作。 2.掌握建立一个数据库文件,并对其实施打开与关闭的操作方法。 3.掌握创建表的基本操作方法。 4.掌握对各表完成部分数据操纵的方法。 二、实验报告内容 1.按照P.10实验3-2的操作提示将创建的空数据库命名为“某某的第一个数据库”(注:某某为自 己的姓名),保存位置为以自己姓名命名的文件夹,并将保存文件的对话框粘贴到此:

2.按照P.15实验4-2的操作提示,关闭自己所创建的数据库;再按照P.15实验4-1的操作提示, 找到保存自己所创建的数据库的位置,打开自己所创建的数据库,并将打开文件的对话框粘贴到此:

3.参照P.16实验5-1的操作提示,预习“实验一数据库设计”并根据P.3中实验1-4的8个表结 构逐一定义每个表每个字段的名字、类型、长度等相关内容,并将定义好的每一个表设计视图窗口粘贴到此: 表1-1-1 “学院”表结构(表设计视图窗口)

表1-1-2 “系”表结构(表设计视图窗口)

表1-1-3 “班级”表结构(表设计视图窗口)

表1-1-4 “学生”表结构(表设计视图窗口)

数据库多表查询的几种方法

1.连接查询. /*-- 传统连接方式 --*/ select e.ename,d.dname from dept d , emp e where d.deptno = e.deptno /*--natural join 两张表中只有一个同名栏位时行连接 --*/ select e.ename,d.dname from dept d natural join emp e /*--using 两个表中有多个同名栏位时 --*/ select e.ename,d.dname from dept d join emp e using(deptno) /*--左外连结左表的全部记录(部门表中的所有记录:demp)-- */ /*--方式1--*/ select e.ename,d.dname from dept d left outer join emp e on d.deptno = e.deptno /*--方式2--*/ select e.ename,d.dname from dept d , emp e where d.deptno = e.deptno(+) /*--右外连结-- (员工表中的所有记录:emp)*/ /*-- 方式1 --*/ select e.ename,d.dname from dept d right outer join emp e on d.deptno = e.deptno /*-- 方式2 --*/ select e.ename,d.dname from dept d , emp e where d.deptno(+) = e.deptno /*--完全外连结(匹配与不匹配)-- (包括部门表及员工表中的所有记录)*/ select e.ename,d.dname from dept d full outer join emp e on d.deptno = e.deptno 2.子查询.

数据库和数据表基本操作实验报告

实验报告 课程名称:数据库原理与应用 上机实验名称:数据库和数据表基本操作 专业班级:计算机科学与技术1103 指导教师:卫凡 学生姓名:贾梦洁 学期:2013-2014学年第一学期 实验报告 课程名称数据库原理与应用实验名称数据库和数据表基本操作 姓名贾梦洁学号0330专业班级计1103 实验日期2013年10月28日成绩指导教师卫凡 一、实验目的 1.巩固数据库的基础知识。 2.掌握利用企业管理器和使用Transact-SQL创建数据库、表和修改、删除数据库、表等。 3.掌握使用SQL Server查询分析器接收Transact-SQL语句和进行结果分析、保存。 4.掌握使用SQL Server查询分析器向已经建好的表中添加信息、修改信息、删除信息和 进行信息的简单查询。 二、实验环境 硬件环境:PC机 软件环境:操作系统为Microsoft Windows 2000或以上版本。 数据库管理系统为Microsoft SQL Server 2000标准版或企业版。 三、实验内容 1.熟悉SQL Server的安装步骤和环境。 2.熟悉SQL Server企业管理器和查询分析器工具的基本使用方法。 3.利用企业管理器和使用Transact-SQL创建数据库、表和修改、删除数据库、表等。 4.查看数据库属性,查看和修改表结构和表内容。 5.练习使用SELECT、INSERT、UPDATE语句对数据表进行基本的操作。 四、实验步骤 1.熟悉SQL Server 2000安装步骤和环境。 2.使用企业管理器完成: (1)建立学生_课程数据库; (2)查看学生_课程数据库的属性,并进行修改,使之符合要求; (3)在建好的学生_课程数据库中建立学生、课程和选课3个表,其表结构为: 学生S(学号,姓名,性别,年龄,所在专业名称) 课程C(课程号,课程名,任课教师名,开设的学期)

数据库和数据库表的操作

罗国建130808010029 电子信息工程 数据库和数据库表的操作 一.实验目的 1. 掌握数据库的创建。 2. 掌握数据库表结构的建立和表记录的输入。 3. 掌握表索引的建立和使用。 4. 掌握数据库表的有效性规则的设置和表之间永久关系的建立。 二.实验内容 1. 在“学生管理.pjx”中创建一个数据库,取名为“学生.dbc”。 2. 将自由表xs.dbf加入“学生”数据库中,并改名为学生登记表.dbf。在“学生”数据 库中再创建两个数据表:课程登记表.dbf和学生成绩表.dbf,其结构和内容如表4-1、表4-2所示。其中,学生成绩表.dbf的内容未输入完全,请读者自行补全。 表4-1 课程登记表 表4-2 学生成绩表 3. 为数据库表设置属性。 (1)为学生登记表的“性别”字段建立有效性规则。规则和提示信息:性别只能为男或女;该字段的默认值:男。 (2)为学生成绩表的“成绩”字段建立有效性规则。规则和提示信息:成绩在0-100

之间;该字段的默认值:0。 4. 建立索引。为学生登记表的“学号”字段建立主索引,为课程登记表的“课程编号” 字段建立主索引,为学生成绩表的“学号”和“课程编号”分别建立普通索引。 5.将xs.dbf中的所有记录复制到xs2.dbf中,在xs2.dbf中,建立以下4个索引(前两个 为单索引,后两个为复合索引,即多字段索引)。 学号(候选索引,取名为学号);出生日期(普通索引,取名为出生日期);性别与入校总分(普通索引,取名为xbzf),性别与出生日期(普通索引,取名为xbrq)。 6. 在xs2.dbf中,分别用LOCATE(顺序查询)和SEEK(索引查询)命令,实现逐条查 询出性别为女的学生名单。 7. 建立表之间的永久关系。为学生登记表与学生成绩表建立一对多关系,为课程登记 表与学生成绩表建立一对多关系。 8. 设置参照完整性规则。要求:在学生登记表和学生成绩表之间以及课程登记表和学 生成绩表之间,定义删除规则为“级联”,更新和插入规则为“限制”。 三.解答与提示 1. 在“学生管理.pjx”中创建一个数据库,取名为“学生.dbc”。 ①建立工作目录“E:\学生管理”。 ②打开“学生管理.pjx”,选择“数据”选项卡的“数据库”,单击“新建”按钮, 选择“新建数据库”,打开“创建”对话框。 ③在对话框中输入数据库的名称“学生”,单击“保存”按钮,项目被保存在刚才 建立的默认目录“E:\学生管理”下,并自动打开“数据库设计器”窗口。 ④关闭“数据库设计器”窗口回到项目管理器中。 提示:数据库文件建立后,会同时生成与之相关的另外两个文件,它们是扩展名为.dbt的数据库备注文件和扩展名为.dcx的数据库索引文件。 2. 将自由表xs.dbf加入“学生”数据库中,并改名为学生登记表.dbf。在“学生”数据 库中再创建两个数据表:课程登记表.dbf和学生成绩表.dbf。 ①展开“项目管理器”的“数据”选项卡中的“数据库”,再展开刚才建立的“学 生”数据库,选择“表”,单击“添加”按钮,在“添加表”对话框中单击xs.dbf,单击“确定”按钮,xs.dbf就添加在数据库“学生”中了。 ②右键单击项目管理器中的xs表,从快捷菜单中选择“重命名”,打开“重命名文 件”对话框,如图1.8所示,在“到”文本框中将xs.dbf改名为学生登记表.dbf。 提示:改名时注意不要修改文件的扩展名。通过这种方法将表文件改名后,与之相关的如.fpt、.cdx 文件均会自动修改。 图 1.8 重命名表文件

SQL数据库查询语句连接查询多表连接查询

SQL数据库查询语句/连接查询/多表连接查询 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和Where子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 Select nickname,email FROM testtable Where name='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: Select * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。例如:

Select nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: Select 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 Select语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在Select返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT 时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: Select TOP 2 *FROM testtable Select TOP 20 PERCENT * FROM testtable

数据库与表的基本操作

第四章数据库与表的基本操作 实验4-1数据库及表的操作 (一)实验目的 1.掌握创建数据库的基本操作方法。 2.熟练掌握创建表结构和输入记录的操作方法。 3.熟练掌握修改表结构、浏览和修改表记录数据的操作。 4.熟练掌握建立索引的操作。 5.掌握创建表间联系的操作。 (二)实验内容及步骤 1.创建数据库 【实例4-1】在实验2-1所建立的“教学管理.pjx”项目中,创建一个“学生成绩. dbc”数据库。 操作步骤如下: (1)打开“教学管理.pjx”项目。 (2)在“项目管理器”窗口中,选择“数据库”,然后单击“新建”按钮,打开“新建数据库”对话框,单击其中的“新建数据库”按钮,打开“创建”对话框,如图4-1 所示。 图4-1“创建”对话框 (3)在“保存在”文本框中,选择保存数据库的文件夹“程序VX”;在“数据库名”文本框中,输入数据库名称“学生成绩”。 (4)单击“保存”按钮,即在指定位置建立一个“学生成绩.dbc”数据库文件。此时,在VFP主窗口中弹出一个“数据库设计器”窗口,同时还激活了“数据库设计

18 器”工具栏,如图4-2所示。 数据库应用学习与实训指导 图4-2“数据库设计器”窗口 2.创建数据表 【实例4-2】在“教学管理.pjx”项目中,创建学生表(Student.dbf)、成绩表(Grade.dbf)、课程表(Course.dbf)、授课表(Teach.dbf)和教师表(Teacher.dbf)。各个表的结构和数据记录如图4-3、图4-4、图4-5、图4-6、图4-7、图4-8、图4-9、图4-10、图4-11 和图4-12所示。 图4-3学生表(Student.dbf)的结构 图4-4学生表(Student.dbf)的记录浏览窗口

数据库的多表联结

数据库的多表联结 数据库的联结分为三种 1.内联结:内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种: 1>等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。 2>不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=<、!>、!<和<>。 3>自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。 2.外联结:外连接,返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接或左连接))、右表(右外连接或右连接)或两个边接表(全外连接)中的所有数据行。 3.交叉联结:交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等于6*8=48行。 举个例子简单说明下: 创建两张表student、gread student gread id name id score 1 aa 1 60 2 bb 2 80 3 cc 内联结:select s.id,https://www.360docs.net/doc/9617923898.html,,g.score from student s inner join gread g on s.id=g.id 结果为: id name score 1 aa 60 2 bb 80 左外联结:select s.id,https://www.360docs.net/doc/9617923898.html,,g.score from student s left join gread g on s.id=g.id 结果为: id name score 1 aa 60 2 bb 80 3 cc null 右外联结:select s.id,https://www.360docs.net/doc/9617923898.html,,g.score from student s right join gread g on s.id=g.id 结果为: id name score

vfp数据库和表的操作(1)

自由表的创建方法: 一、表向导 1、在项目管理器中,“数据”选择自由表,单击“新建”,选择“表向导”; 2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“向导”; 3、“工具”菜单中“向导”中的“表” 二、表设计器创建自由表 1、在项目管理器中,自由表→新建→新建表 2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“新建文件”; 三、用命令创建表 1、 CREATE<表文件名> 命令功能:打开表设计器新建一个VFP表。例如:在D盘XS文件夹中新建ST表 CREATE D:\XS\ST 2、用SQL语言创建,例如:在D盘XS文件夹中新建ST表,包含字段姓名,性别 CREATR DBF D:\XS\ST(姓名 C(8),性别 C(2)) 3、复制表 COPY TO <表文件名>[FIELDS 字段列表] [FOR 条件] 命令功能:复制当前表并创建一个新表。例如:复制D盘XS文件夹中的ST表到同目录下的LX.DBF USE D:\XS\ST COPY TO D:\XS\LX 如果只复制姓名: USE D:\XS\ST COPY TO D:\XS\LX FIELDS 姓名 4、复制表结构 COPY STRUCTURE TO <表文件名>[FIELDS 字段列表] 命令功能:复制当前表结构并创建一个新表。例如:复制D盘XS文件夹中的ST表的表结构到同目录下的LX.DBF USE D:\XS\ST COPY STRUCTURE TO D:\XS\LX 如果复制结构中的姓名字段 USE D:\XS\ST COPY STRUCTURE TO D:\XS\LX FIELDS 姓名

(完整版)数据库基础与应用(Access2010)主编刘卫国课后练习答案

数据库基础与应用(Access2010 )主编:刘卫国课后练习题答案 第一章 习题1 一、选择题 1.有关信息与数据的概念,下面说法正确的是()。B A.信息和数据是同义词 B .数据是承载信息的物理符号 C.信息和数据毫不相关 D .固定不变的数据就是信息 2.通常,一个数据库系统的外模式()。D A.只能有一个 B .最多只能有一个 C.至少两个 D .可以有多个 3.数据库的三级模式之间存在的映射,正确的是()。A A.外模式/ 模式 B .外模式/ 内模式 C.外模式/ 外模式 D .模式/ 模式 4.在关系数据库系统中,当关系模型改变时,用户程序也可以不变,这是()。B A.数据的物理独立性 B .数据的逻辑独立性 C.数据的位置独立性 D .数据的存储独立性 5.以下对关系模型性质的描述,不正确的是()。C A.在一个关系中,每个数据项是最基本的数据单位,不可再分 B.在一个关系中,同一列数据具有相同的数据类型 C.在一个关系中,各列的顺序不可以任意排列 D.在一个关系中,不允许有相同的字段名 6.在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主关键字是R#,S 的主关键字是S#,则S#在R中称为()。A A.外部关键字 B .候选关键字 C .主关键字 D .超键7.在一般情况下,当对关系R和S 使用自然连接时,要求R和S 含有一个或多个共有 的()。C A.元组 B .行 C .属性 D .记录8.有R,S 和T 3 个关系: R(A,B,C)={(a,1,2),(b,2,1),(c,3,1)} S(A,B,C)={(a,1,2),(d,2,1 )} T(A,B,C)={(b,2,1 ),(c,3,1 )} 则由关系R和S 得到关系T 的操作()。A A.差 B .自然连接 C .交 D .并 9.关系模型中有 3 类完整性约束:实体完整性、参照完整性和用户定义完整性,定义 外部关键字实现的是()。C A.实体完整性B.用户自定义完整性 C.参照完整性D.实体完整性、参照完整性和用户自定义完整性10.在建立表时,将年龄字段值限制在18~40 之间,这种约束属于()。D

相关文档
最新文档