实验二 数据库的创建与连接.docx

上传人:b****8 文档编号:11467390 上传时间:2023-03-01 格式:DOCX 页数:22 大小:183.10KB
下载 相关 举报
实验二 数据库的创建与连接.docx_第1页
第1页 / 共22页
实验二 数据库的创建与连接.docx_第2页
第2页 / 共22页
实验二 数据库的创建与连接.docx_第3页
第3页 / 共22页
实验二 数据库的创建与连接.docx_第4页
第4页 / 共22页
实验二 数据库的创建与连接.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

实验二 数据库的创建与连接.docx

《实验二 数据库的创建与连接.docx》由会员分享,可在线阅读,更多相关《实验二 数据库的创建与连接.docx(22页珍藏版)》请在冰豆网上搜索。

实验二 数据库的创建与连接.docx

实验二数据库的创建与连接

实验二数据库的创建与连接

一、目的和要求

1.掌握PowerBuilder数据库的创建与连接方法。

2.创建一个ASA数据库。

3.为数据库配置ODBC数据源和DBProfile(数据库描述),在PB环境中连接数据库

4.利用PB的数据库画板为数据库创建表、输入数据、查询数据

5.熟悉SQL语言,利用SQL语句建表、输入数据、查询数据、修改数据、删除数据

二、实验准备

1.启动Windows操作系统,如果在Windows操作系统的控制面板中没有安装ODBC32,必须进行ODBC安装。

2.进入PB集成环境,如果PB安装时没有安装AdaptiveServerAnywhere8.0数据库管理系统,选择安装ASA数据库

3.复习创建数据库的有关内容和SQL语言

三、实验内容

1.创建AdaptiveServerAnywhere数据库

创建ASA数据库的步骤如下:

●单击工具栏上的Database图标按钮

●在弹出的Database画板中,打开Object子窗口,展开“ODBODBC”项下的Utilities目录,如图2.1。

图2.1

●双击Utilities目录下的“CreateASADatabase”项,弹出“CreateAdapativeServerAnywhere”对话框,如图2.2。

●在“ASAVersion”中选择AdaptiveServerAnywhere8.0。

●单击“DatabaseName”列对应的按钮“…”,弹出“CreateLocalDatabase”对话框,如图2.3。

在对话框中选择目录D:

\mypbex,在文件名中输入“student.db”,单击“保存”按钮,返回“CreateAdapativeServerAnywhere”对话框。

图2.2

图2.3

●使用默认的用户UserID项“dba”和默认的Password项“sql”,如图2.2。

(注意:

如果修改了用户名和口令,一定要记住,否则以后连接不上数据库)

●在“UseTransaction”选项上,取消复选框的选中。

(如果不取消本选项,数据库就带有日志,以后使用时,数据库对应的目录不能改变)

●单击“OK”按钮,PB在D:

\mypbex目录下创建一个ASA数据库student.db,同时为数据库配置了一个同名的ODBC和DBProfile,并且已经连接到新建的数据库(可以看到数据库名前的图标上有一个绿色的小勾)。

(注意:

对于新建数据库,不需要再配置ODBC数据源和DBProfile)

2.在PB开发环境中连接其他数据库

前面创建ASA数据库时,系统自动为我们完成了创建ODBC、DBProfile和连接数据库的工作。

当我们要连接一个外部数据库,如Access数据库,SQLServer数据库、Sybase数据库或Oracle数据库,以及在其他计算机建立并拷贝到本机的ASA数据库,就需要完成配置ODBC数据源、DBProfile和连接数据库的操作。

(1)配置ODBC数据源

配置ODBC数据源的步骤如下:

●在PB数据库画板的Objects子窗口中,双击ODBODBC项下的Utilities项的“ODBCAdministrator”项,弹出“ODBC数据源管理器”对话框,如图2.4。

图2.4

●选择用户DSN标签页,单击“添加”按钮,弹出“创建新数据源”对话框,如图2.5。

图2.5

●在“创建新数据源”的对话框中提供了一个系统支持的数据库驱动程序列表框,选择合适的驱动程序。

本例选择“AdaptiveServer8.0”,单击“完成”按钮,将弹出“ODBCConfigurationforAdaptiveServerAnywhere8.0”对话框。

如图2.6。

图2.6

●在ODBC标签页的“DataSourceName”项中输入要配置的ODBC数据源名,如mydatabase。

●选中Login标签页,输入UserID和Password。

,如图2.7,对ASA数据库,缺省UserID为“DBA”,Password为“SQL”。

●选中Database标签页,在“Databasefile”项中输入数据库文件名(带路径)或者单击“Browse”按钮选择数据库名。

如图2.7

图2.7

●单击“确定”返回到“ODBC数据源管理器”对话框。

注意:

不同的数据库类型在选择数据库的操作上会有所不同

●这时可以看到新建的数据源“mydatabase”已经加入到数据源列表中,单击“确定”按钮,完成ODBC数据源的配置。

(2)配置DBProfile

配置DBProfile的步骤如下:

●在PB数据库画板的Objects子窗口中,选择“ODBODBC”项,单击鼠标右键,选择“NewProfile…”菜单项,弹出“DatabaseProfileSetup-ODBC”对话框,如图2.8所示。

图2.8

●选择“Connection”标签页,在“ProfileName”项中输入DBProfile名,这里为mydb_pro;在“DataSource”下拉列表中,单击“”按钮,选择ODBC数据源,这里选择mydatabase。

●单击“OK”按钮,完成DBProfile的配置。

这时在“ODBODBC”目录下可看到数据库新配置的DBProfile“mydb_pro”。

●要重新配置,可以选中“mydn_pro”,单击鼠标右键,再弹出菜单中选择“Properties”,重新弹出“DatabaseProfileSetup-ODBC”对话框,修改配置

(3)在PB环境连接数据库

在PB环境连接数据库步骤如下:

●在PB数据库画板的Objects子窗口中,选择“ODBODBC”项。

●在“ODBODBC”项下列出了所有可以连接的数据库的DBProfile,选中要连接的DBProfile,如“mydb_pro”。

●单击鼠标右键,在菜单中选择“Connect”连接数据库。

如果需要断开与数据库的连接,可以在弹出菜单中选择“Disconnect”菜单项。

对于连接成功的数据库,会在相应的DBProfile前面的图标上打上“”标记。

3.使用PB的数据库画板创建表

(1)需要创建的数据库表如表2.1至2.7所示

注意:

创建好数据库表的数据库文件最好用U盘拷贝出去,以备以后开发程序时使用

表2.1部门表(表名:

department)

字段名

意义

数据类型

宽度

Null

主键(primarykey)

Dep_id

部门ID

Char

4

No

name

部门名称

Varchar

30

No

Introduction

部门简介

Varchar

100

yes

表2.2专业表(表名:

major)

字段名

意义

数据类型

宽度

Null

主键(primarykey)

major_id

专业ID

Char

6

No

name

专业名称

Varchar

30

No

Dep_id

所属部门

Char

4

No

Introduction

专业简介

Varchar

100

yes

学生表(表名:

student)

字段名

意义

数据类型

宽度

Null

主键(primarykey)

Student_id

学生ID

Char

11

No

name

姓名

Varchar

10

No

Sex

性别

Char

2

No

birthday

生日

date

No

grade

年级

char

4

No

nation

民族

Varchar

20

No

background

政治面貌

varchar

10

yes

Major

专业

char

15

no

native

籍贯

varchar

16

yes

address

地址

varchar

50

yes

表2.4教师表(表名:

teacher)

字段名

意义

数据类型

宽度

Null

主键(primarykey)

teacher_id

教师ID

Char

6

No

name

姓名

Varchar

10

No

post

职称

Varchar

10

yes

Major_id

专业

char

6

no

表2.5课程表(表名:

course)

字段名

意义

数据类型

宽度

Null

主键(primarykey)

course_id

课程ID

Char

6

No

name

课程名称

Varchar

40

No

Period

开课学期

Integer

No

Credit

学分

Unsignedsmallint

No

Kind

类型

varchar

10

No

Major_id

专业

char

6

No

表2.6课程安排表(表名:

arrange)

字段名

意义

数据类型

宽度

Null

主键(primarykey)

Course_id

课程ID

Char

6

No

Teacher_id

教师ID

char

6

No

Year

年度

char

9

no

Term

学期

char

1

No

表2.7成绩表(表名:

grade)

字段名

意义

数据类型

宽度

Null

主键(primarykey)

Student_id

课程ID

Char

6

No

Course_id

教师ID

char

6

No

Year

年度

char

9

no

Term

学期

char

1

No

grade

成绩

decimal

(4,1)

yes

credit

学分

Unsignedsmallint

yes

(2)创建表

创建表2.1到表2.7的所有表,并使用给出的表名作为数据库表名。

在数据库中创建表的步骤如下:

●在Database画板的Objects子窗口中,首先连接数据库“mydb_pro”。

●展开“mydb_pro”数据库目录,选中“Tables”,单击鼠标右键,在弹出式菜单中单击“NewTables…”,出现表设计子窗口,如图2.9所示。

图2.9

●在表设计子窗口中,分别输入每个字段的名称ColumnName,选择数据类型,数据宽度,小数位宽度,是否允许为空以及默认值。

如student表中的student_id字段,ColumnName为student_id,数据类选择Char,字段宽度输入6,是否为空选择为No。

输入完一个字段后,按Tab键,会产生另一个字段,继续输入,直到一个表的所有字段录完。

●在输入表中的所有字段后,单击工具栏的“Save”图标按钮,弹出“CreateNewTable”对话框,如图2.10。

在TableName中输入表名(最好不要用汉字,而且首字母不要用数字),单击“OK”按钮保存新表。

图2.10

(3)建立主键

数据库表的主键用于唯一的标识表中的一条记录,插入的数据主键不能相同。

只有为表建立主键后才能进行数据的录入操作。

为数据库表建立主键的方法如下:

●按照表2.1到2.7确定在Database画板的Objects子窗口中,展开要操作的数据库目录,然后展开Tables目录,选择需要建立主键的表,并展开,选择“PrimaryKey”,按鼠标右键,在菜单中单击“NewPrimaryKey”菜单,弹出Primarykey窗口。

●的主键字段选中对应字段的复选框,

●单击工具栏的“Save”图标按钮,保存设置结果

4.使用PB的数据库画板管理数据

在PB的数据库画板中可以直接对数据库表进行数据操作,包括数据的输入、查询、修改、删除等。

(1)查询数据

查询数据的步骤如下:

●在Database画板的Objects子窗口中,展开数据库目录,展开Tables目录,选择要查询数据的表格,单击鼠标右键,光标移到“EditData”菜单项,弹出下一级菜单,有三个菜单项“Grid…”、“Tabular…”、“Freeform…”,分别对应三种显示风格,任选一项,该表数据出现在“Output”子窗口中。

(2)输入数据

输入数据的步骤如下:

●先完成查询数据的步骤

●如图2.11,单击工具栏“插入”图标,插入一条空记录

●按字段名输入数据,注意数据的宽度和格式

●单击工具栏“保存”图标,保存记录。

(3)修改数据

修改数据的步骤如下:

●先完成查询数据的步骤

●将鼠标移到需要修改的记录上,修改对应字段的数据

●单击工具栏“保存”图标,保存记录。

(4)删除数据

修改数据的步骤如下:

●先完成查询数据的步骤

●将鼠标移到需要删除的记录上,修改对应字段的数据

●单击工具栏“删除”图标,删除记录。

●单击工具栏“保存”图标,保存数据。

5.使用SQL语句创建表

通过PB创建表的过程非常麻烦,而且不可重用,简单的方法是通过SQL语句实现创建表的过程。

建表的语句如下:

//建Department表

Createtabledepartment(

Dep_idchar(4)notnullprimarykey,

Namevarchar(10)notnull,

Introductionvarchar(100)

);

//建major表

Createtablemajor(

Major_idchar(6)notnullprimarykey,

Namevarchar(30)notnull,

Dep_idchar(4)notnull,

Introductionvarchar(100)

);

//建student表

Createtablestudent(

Student_idchar(10)notnullprimarykey,

Namevarchar(10)notnull,

Sexchar

(1)notnull,

Birthdaydatenotnull,

Gradechar(4)notnull,

Nationvarchar(20)notnull,

Backgroundvarchar(10),

Major_idchar(6)notnull,

Nativevarchar(16),

Addressvarchar(50)

);

//建teacher表

Createtableteacher(

Teacher_idchar(6)notnullprimarykey,

Namevarchar(10)notnull,

Postvarchar(10),

Major_idchar(6)notnull

);

//建course表

Createtablecourse(

Course_idchar(6)notnullprimarykey,

Namevarchar(40)notnull,

Periodintegernotnull,

Creditunsignedsmallintnotnull,

Kindvarchar(10)notnull,

Major_idchar(6)notnull

);

//建Arrange表

Createtablearrange(

Course_idchar(6)notnull,

Teacher_idchar(6)notnull,

Yearchar(9)notnull,

Termchar

(1)notnull,

Primarykey(course_id,teacher_id)

);

//建Grade表

Createtablegrade(

Student_idchar(6)notnull,

Course_idchar(6)notnull,

Yearchar(9)notnull,

Termchar

(1)notnull,

Gradedecimal(4,1),

Creditunsignedsmallint,

Primarykey(student_id,course_id,year,term)

);

通过SQL语句建表的步骤如下:

●进入Database画板

●连接数据库

●单击菜单View|InteractiveSQL,打开一个ISQLSession窗口

●在窗口中输入建表SQL语句。

注意:

SQL语句可以拷贝、粘贴,并且同时执行多条SQL语句。

●单击工具栏中的图标

,执行SQL语句。

注意:

在执行建表SQL语句之前,应先将原存在的同名表删除,否则SQL语句执行会报错。

另外要看表建立是否成功,需要重新连接数据库(先断开,再重新连接)。

6.使用SQL语句管理数据

使用SQL语句能够完成所有的数据操作,包括增、删、改和查询操作。

使用Sql语句完成查询操作比PB数据库画板要灵活,PB数据库画板只能针对单表查询,而且是整表检索数据,而使用SQL语句可以只查询表中的某些字段和符合条件的部分记录,可实现多表联合查询。

(1)插入语句

语法:

INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]

VALUES(<常量1>[,常量2>]…);

示例:

向department表中插入一条记录:

Insertintodepartment

Values(‘0001’,’计算机系’,’计算机系有计算机应用和计算机硬件等本科专业’);

如果部分可以为空的字段不赋值,则需要把赋值的列指示出来,如:

Insertintodepartment(dep_id,name)

Values(‘0002’,’通信工程系’);

(2)修改语句

语法:

UPDATE<表名>

SET<列名>=<表达式>[,<列名>=<表达式>]…

[WHERE<条件>];

示例:

将ID号为0002的记录的名称改为“电子系”

Updatedepartment

Setname=’电子系’

Wheredep_id=’0002’;

如果不加条件,将对所有记录进行修改,如:

Updatedepartment

Setintroduction=’’;

将所有记录的部分介绍置为空。

(3)删除语句

语法:

DELETEFROM<表名>[WHERE<条件>];

示例:

删除ID号为’0002’的记录

Deletefromdepartmentwheredep_id=’0002’;

如果不加条件将删除所有记录,如:

Deletefromdepartment;

(4)查询语句

语法:

SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…

FROM<表名或视图名>[,<表名或视图名>]…

[WHERE<条件表达式>]

[GROUPBY<列名1>[HAVING<条件表达式>]]

[ORDERBY<列名2>[ASC|DESC]];

在做查询语句前,最好先往表中插入一些数据:

//向department表中插入输入

//清空表department

Deletefromdepartment;

//插入数据

Insertintodepartment(dep_id,name)

Values(‘0001’,’计算机系’);

Insertintodepartment(dep_id,name)

Values(‘0002’,’通信工程系’);

Insertintodepartment(dep_id,name)

Values(‘0003’,’信息科学系’);

Insertintodepartment(dep_id,name)

Values(‘0004’,’数学系’);

//清空Major表

Deletefrommajor;

//插入数据

Insertintomajor(major_id,name,dep_id)

Values(‘000101’,’计算机硬件’,’0001’);

Insertintomajor(major_id,name,dep_id)

Values(‘000102’,’计算机应用’,’0001’);

Insertintomajor(major_id,name,dep_id)

Values(‘000201’,’通信工程’,’0002’);

Insertintomajor(major_id,name,dep_id)

Values(‘000202’,’自动化’,’0002’);

Insertintomajor(major_id,name,dep_id)

Values(‘000301’,’信号分析’,’0003’);

Insertintomajor(major_id,name,dep_id)

Values(‘000302’,’信号处理’,’0003’);

Insertintomajor(major_id,name,dep_id)

Values(‘000401’,’应用数学’,’0004’);

Insertintomajor(major_id,name,dep_id)

Values(‘000402’,’密码’,’0004’);

//清空学生表

Deletefromstudent;

//向学生表插入记录

Insertintostudent

Values(‘2005010001’,’李京’,’1’,’1985/02/05’,’2005’,’汉族’,’团员’,’000101’,’甘肃兰州’,’甘肃兰州’);

Insertintostudent

Values(‘2005010002’,’刘洋’,’1’,’1985/03/06’,’2005’,’汉族’,’团员’,’000101’,’江西南昌’,’江西南昌’);

Insertintostudent

Values(‘2005010003’,’刘军’,’1’,’1984/01/03’,’2005’,’回族’,’党员’,’000102’,’江苏镇江’,’江苏镇江’);

Insertintostudent

Values(‘2006020001’,’韩云’,’2’,’1985/07/03’,’2006’,’汉族’,’党员’,’00

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1