数据库原理实习.docx

上传人:b****1 文档编号:23195401 上传时间:2023-05-15 格式:DOCX 页数:25 大小:1.23MB
下载 相关 举报
数据库原理实习.docx_第1页
第1页 / 共25页
数据库原理实习.docx_第2页
第2页 / 共25页
数据库原理实习.docx_第3页
第3页 / 共25页
数据库原理实习.docx_第4页
第4页 / 共25页
数据库原理实习.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数据库原理实习.docx

《数据库原理实习.docx》由会员分享,可在线阅读,更多相关《数据库原理实习.docx(25页珍藏版)》请在冰豆网上搜索。

数据库原理实习.docx

数据库原理实习

数据库上机实习方法

一、实习内容

有一个公司需要对该公司的人事进行计算机管理,管理的具体内容包括:

部门信息,员工信息,员工奖惩信息。

每个部门的信息包括:

部门名称,部门编号、部门负责人编号、部门电话。

员工信息包括员工姓名、员工编号、员工联系电话、员工地址、身份证编号、薪水、进公司日期、员工所在部门编号。

员工奖惩信息包括奖惩日期,内容,进行奖惩的部门。

在日常能够使用中人事经理能够对员工的信息和员工奖惩信息进行各种修改,其他人员只能进行查询。

同时还要能进行以下查询:

(1)根据某个特定员工的姓名查询它的全部信息和奖惩信息

(2)查询某个部门的员工所有基本信息

(3)查询某一阶段员工奖惩情况

二、SQLSERVER2000使用

任务:

了解SQLServer的各种版本,并按下面的步骤安装SQLServer2000数据库。

2.1SQLServer介绍

SQLSERVER2000共有四个版本:

企业版、标准版、开发版、个人版。

其中企业版作为生产数据库服务器使用。

支持SQLServer2000中的所有可用功能,并可根据支持最大的Web站点和企业联机事务处理(OLTP)及数据仓库系统所需的性能水平进行伸缩。

标准版作为小工作组或部门的数据库服务器使用。

开发版供程序员用来开发将SQLServer2000用作数据存储的应用程序。

虽然开发版支持企业版的所有功能,使开发人员能够编写和测试可使用这些功能的应用程序,但是只能将开发版作为开发和测试系统使用,不能作为生产服务器使用。

个人版供移动的用户使用,这些用户有时从网络上断开,但所运行的应用程序需要SQLServer数据存储。

在客户端计算机上运行需要本地SQLServer数据存储的独立应用程序时也使用个人版。

这四种版本的更详细资料可以参看sqlserver的联机文档中的“SQLServer2000的各种版本所支持的功能”。

对于我们来说,一般使用个人版就够了。

表1说明安装MicrosoftSQLServer2000或SQLServer客户端管理工具和库的硬件要求。

表1

硬件

最低要求

计算机

Pentium166MHz或更高。

内存(RAM)

硬盘空间

需要约500MB的程序空间,以及预留500M的数据空间

显示器

需要设置成800x600模式,才能使用其图形分析工具

表2说明为使用MicrosoftSQLServer2000各种版本或组件而必须安装的操作系统。

表2

SQLServer版本或组件

操作系统要求

企业版

MicrosoftWindowsNTServer4.0、MicrosoftWindowsNTServer4.0企业版、Windows2000Server、Windows2000AdvancedServer和Windows2000DataCenterServer。

(所有版本均需要安装IE5.0以上版本浏览器)

标准版

MicrosoftWindowsNTServer4.0、Windows2000Server、MicrosoftWindowsNTServer企业版、Windows2000AdvancedServer和Windows2000DataCenterServer。

个人版

MicrosoftWindowsMe、Windows98、WindowsNTWorkstation4.0、Windows2000Professional、MicrosoftWindowsNTServer4.0、Windows2000Server和所有更高级的Windows操作系统。

注:

SQLServer2000的某些功能要求在MicrosoftWindows2000Server以上的版本才能运行。

因此大家安装WindowsServer2000(建议为Advanced版本),可以学习和使用到SQLServer2000的更多功能,以及享受更好的性能。

2.2SQLServer个人版的安装

下面将以Windows2000操作系统作为示例,详细介绍安装SQLServer2000企业版的过程。

将企业版安装光盘插入光驱后,出现如图1所示的对话框。

请选择"安装SQLServer2000简体中文个人版",出现图2所示的对话框,选择"安装SQLServer2000组件"。

图1

图2

选择"下一步",出现图3所示的对话框,选择"安装数据库服务器",出现图4所示的对话框选择"下一步"出现图5所示的对话框,选择"本地计算机",选择"下一步"。

图3

图4

图5

在图6"安装选择"窗口,选择"创建新的SQLServer实例..."。

对于初次安装的用户,应选用这一安装模式,不需要使用"高级选项"进行安装。

"高级选项"中的内容均可在安装完成后进行调整。

图6

在图7"用户信息"窗口,输入用户信息,选择"下一步",出现“软件许可协议对话框”,如图8所示,选择“是”。

图7

图8

在图9安装定义"窗口,选择"服务器和客户端工具"选项进行安装。

我们需要将服务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习SQLServer很有用处。

如果你已经在其它机器上安装了SQLServer,则可以只安装客户端工具,用于对其它机器上SQLServer的存取。

图9

在图10"实例名"窗口,选择"默认"的实例名称。

这时本SQLServer的名称将和Windows2000服务器的名称相同。

例如Windows名称是"CSWHU",则SQLServer的名字也是"CSWHU"。

SQLServer2000可以在同一台服务器上安装多个实例,也就是你可以重复安装几次。

这时您就需要选择不同的实例名称了。

建议将实例名限制在10个字符之内。

实例名会出现在各种SQLServer和系统工具的用户界面中,因此,名称越短越容易读取。

另外,实例名称不能是"Default"或"MSSQLServer"以及SQLServer的保留关键字等。

图10

在图11"安装类型"窗口,选择"典型"安装选项,并指定"目的文件夹"。

程序和数据文件的默认安装位置都是"C:

\ProgramFiles\MicrosoftSQLServer\"。

(假设C盘是系统区、D盘是应用区,因此选择了D盘。

)注意,如果您的数据库数据有10万条以上的话,请预留至少1G的存储空间,以应付需求庞大的日志空间和索引空间。

图11

在图12"身份验征模式"窗口,请选择"混合模式"和“空密码”,密码缺省为sa。

选择“下一步”出现图13所示的对话框,选择“下一步”,安葬程序开始拷贝文件,并初始化数据库,安装完毕后,出现图14界面,单击“完成”按钮,重新启动计算机,安装成功。

图12

图13

图14

提示:

安装sqlserver2000后,最好在网上下载微软发布SQLServer最新累积补丁包。

以免遭受攻击。

2.3SQLSERVER2000的使用

我的电脑上所安装的版本是中文简体企业版。

SQLServer经常用到的组件有:

1、服务管理器。

通过它启动和关闭数据库服务系统。

图15

2、企业管理器。

如下图所示:

(中文简体企业版,其它版本也很相似)

图16

企业管理器主要用于对数据库系统的日常维护与管理,比如用户设定,创建数据库与表格,备份,创建与查看日志等。

3、查询分析器。

其界面如下图所示。

图17

查询分析器的功能主要包括,对数据库中的表格、数据进行查询和更新等。

图中看到的SQL语言的语法结构是其支持的SQL语法一种。

当然它也支持标准SQL语句。

4、SQLSERVER2000联机帮助

在使用SQLSERVER的过程中遇到一般性的问题都可以通过打开帮助菜单里的联机丛书搜索相应的关键字来找到相关问题的解决方案。

联机丛书属于在安装SQLSERVER过程中可选的组件之一。

只有选择安装了该组件。

才可以使用该功能。

图18

三、SQL的使用

任务:

掌握SQL语句的语法和使用。

按照下面的例子,建立PersonResource数据库和Department、Employ表。

例1.创建人事管理的数据文件和事务日志文件的数据库

CREATEDATABASEPersonResource

ON

(NAME='PersonResource_dat',

FILENAME='d:

\PersonResource.mdf',

SIZE=10,

MAXSIZE=50,

FILEGROWTH=5)

LOGON

(NAME='PersonResource_log',

FILENAME='d:

\PersonResource.ldf',

SIZE=5MB,

MAXSIZE=25MB,

FILEGROWTH=5MB)

GO

人事管理数据库的数据库文件和日志文件均在在d盘根目录下。

大小分别为10M和5M。

例2创建部门表

USEPersonResource

GO/*使用名为PersonResource的数据库*/

CREATETABLEDepartment

(DNOintPRIMARYKEY,

DNAMEchar(50),

TelNochar(50),

ChargeNOint,

CONSTRAINTchk1CHECK(DNOBETWEEN0and10000)

GO/*创建名为Department的表,其中DNO是主键,范围是0到10000*/

CREATETABLEEMPLOY

(ENOintPRIMARYKEY,

ENAMEchar(50),

Addresschar(50),

TelNochar(50),

SALARYmoney,

IDchar(50),

EnterDatedatetime,

DNOint

FOREIGNKEYREFERENCESDepartment(DNO)ONDELETENOACTION,

CONSTRAINTchk2CHECK(ENOBETWEEN0and10000)

GO/*创建名为EMPLOY的表,其中ENO是主键,范围是0到10000,且属性DNO是到表Department的外键。

*/

下面使用SQL语句在数据库中输入数据,结果如图19所示。

如果之前没有输入该员工所在部门的信息,则会出错!

INSERTINTODepartment

VALUES(10,'采购部','87654334',2)

INSERTINTOEmploy

VALUES(2,'李虹','武汉市139号7-3-1','87654455',5000,

'43567894334444',05-02-2002,10)

图19

又如:

(1)计算每个部门的总工资、平均工资及最高工资;

(2)查找工资比李虹高,且在开发部工作的职工名、工资,SQL语句如下。

(1)SELECTSUM(SALARY),AVE(SALARY),MAX(SALARY)

FROMEMPLOY

GROUPBYDNO

〔2)SELECTENAME,SALARY

FROMEMPFIRST

WHEREFIRST.SALARY>

(SELECTSALARY

FROMEMPSECOND

WHERESECOND.ENAME='李虹')

ANDFIRST.DNOIN

(SELECTDNO

FROMDepartment

WHEREDepartment.DNAME='开发部')

四、数据字典

任务:

按照下面的分析,熟悉数据字典。

数据字典是存放数据库的数据库,下面我们分析一下刚才创建的数据库和表的信息在数据字典中是如何存放的。

打开PersonResource数据库表,可以看到很多sys*(*代表任何字符串)表,这些表就是数据字典。

在SQLServer的master数据库中有一个表sysdatabases,打开此表可以看到SQLServer中所有的数据库。

如图20所示。

图20

在PersonResource数据库中由一个表sysfiles,打开此表,可以看到数据库文件存放的位置,如图21所示。

图21

在PersonResource数据库中由一个表sysobjects,打开此表,可以看到刚才创建的表,表Departmnet的主键,表Departmnet的约束chk1,EMPLOY的约束chk2,主键,外键等,两表的id分别为:

405576483、453576654。

如图22所示。

图22

在PersonResource数据库中由一个表syscolumns,打开此表,可以看到刚才创建的表,表Departmnet

和EMPLOY的各列,如图23所示。

其中有两条元组的name属性值为DNO,属性id的值为405576483和453576654。

即它们分别属于Departmnet和EMPLOY表。

xtype属性值为56。

在表systypes中可以查到56对应的具体数据类型为int。

colid属性的值分别为1和8,表示这两个属性的id值为1和8。

打开sysforeignkeys表,可以看到当前表中包含一条记录,如图24所示。

其中fkeyid值为453576654,代表外键属性所在的表为EMPLOY,fkey值为8,即外键属性的id值为8,即外键属性的为EMPLOY表DNO,rkeyid值为405576483,代表外键属性参照的表为Departmnet,rkey值为1,即外键属性的id值为8,即参照属性的为Departmnet表的DNO属性。

图23

图24

五、数据库设计与实现

任务:

完善PersonResource数据库,建立奖惩表,建立Department表的外键。

建立ODBC数剧源并编写程序实现人事管理的各种功能。

ODBC是Microsoft所定义的数据库标准接口。

应用程序可通过ODBC,利用SQL语法存取各种不同类型数据库的数据。

如在用VC编程时,MFC中就带有许多ODBC类:

CDatabase、CRecordset、CRecordView、CFieldExchange、CDBException等。

5.1、ODBC的结构简图

图25

5.2、ODBC组成

(1).Application

对外提供使用者交谈界面,同时对内执行数据准

备工作和呼叫ODBC程序函数,传送SQL指令以及接

收数据库系统所传回来的结果并显示给使用者。

(2).DriverManager

DriverManager本身在MSWindows中是一个DLL文件(ODBC.DLL)。

Application透过DriverManager去加载并连结数据来源的驱动程序(driver)并连接DataSource。

(3).Driver

Driver也是一个DLL文件,一般是由databasevendor提供.当Application呼叫ODBCfunctionSQLConnect或SQLDriverConnect时,DriverManager就会载入相对的driver与Application呼应。

driver主要是执行ODBC之相对function,并与对应之DataSource做沟通。

(4).DataSource

即后端的DatabaseEngine,Application透过标准ODBC界面与database连接,因此开发过程中不需指定特定的databasesystem,以达到open的境界。

图26

5.3、设置ODBC

ODBC设置如下:

5.3.1选择添加数据库源。

图27

5.3.2.选择数据源为SQLSERVER

图28

5.4.嵌入式SQL在BorlandC++Builder中的应用

解决方案:

在BorlandC++Builder中使用SQL

1.Query控件的一些方法:

Query1->First();//游标指向查询结果集中第一条记录

Query1->Next();//游标指向查询结果集中下一条记录

Query1->Last();//游标指向查询结果集中前一条记录

Query1->Bof;//游标是否指向查询结果集中第一条记录之前

Query1->Eof;//游标是否指向查询结果集中最后一条记录之后

Query1->SQL->Clear();//

Query1->SQL->Add(StringstrSQL);//把生成的SQL语句嵌入

Query1->Prepare();

Query1->Open();

Query1->FieldByName("姓名")->AsString//主变量的值//游标所指向的记录中"姓名"字段的值

2.查询举例1:

根据用户输入的学号查询其姓名。

在BorlandC++Builder中,首先创建一个工程,接着创建一个窗口表单,在表单上加上如下组件,如表1所示。

表1

控件类型

组件变量名

控件类型

组件变量名

TLabel

Label1

TEdit

Edit1

TLabel

Label2

TEdit

Edit2

TLabel

Label3

TEdit

Edit3

TLabel

Label4

TEdit

Edit4

TLabel

Label5

TEdit

Edit5

TLabel

Label6

TEdit

Edit6

TLabel

Label7

TEdit

Edit7

TLabel

Label8

TEdit

Edit8

TDatabase

Database1

TQuery

Query1

TDataSource

DataSource1

TBitBtn

BitBtn1

TBitBtn

BitBtn2

(1)设置组件的相关属性,如表2所示。

表2

组件变量名

属性

Label1

Caption

部门名称

Label2

Caption

部门名称

Label3

Caption

部门名称

Label4

Caption

部门名称

Label5

Caption

部门名称

Label6

Caption

部门名称

Label7

Caption

部门名称

Label8

Caption

部门名称

Edit1

Text

空字符串

Button1

Caption

查询

DBGrid1

DataSource

DataSource1

DBNavigator1

DataSource

DataSource1

Query1

DatabaseName

PersonDB

SQL

selectENO,ENAME,Address,

TelNo,SALARY,ID,EnterDate

fromEmploywhereDNO=:

DNO

Database1

AliasName

Mydb

Connected

True

Params

USERNAME=sa

DataSource1

DataSet

Query1

(2)为按钮添加响应函数:

双击Button1按钮,C++Builder会自动跳到相应的响应函数,为该函数添加以下代码。

Query1->Close();//关闭当前的记录集

Query1->ParamByName("DNO")->Value=Edit1->Text;//设置查询参数的值

Query1->Open();//打开记录集,即重新执行查询

(3)程序界面如29所示。

图28

六、使用数据库安全性、完整性控制及数据库触发器机制

任务:

为人事信息管理系统划分不同的角色,例如一般角色,只具有查询功能,管理员角色可以对数据库中中元组进行修改、增加、删除。

为每种角色分配若干用户。

可以通过创建触发器来保证数据库的完整性。

创建对Employ表修改员工编号的触发器。

为查询1创建一个存储过程。

例如:

一个员工要从该公司辞职,则要删除该员工的相应信息,同时必须删除该员工相应的奖惩信息。

设奖惩表为Rewards。

可以编写以下的触发器:

CREATETRIGGER[DelEmploy]ON[dbo].[EMPLOY]

FORDELETE

AS

Declare

@ENOint,

@RewardsCountint

Set@ENO=(SelectENOFromdeleted)

Set@RewardsCount=(SelectCount(*)FromRewardsWhereRewards.ENO=@ENO)

if@RewardsCount>0

Begin

DeleteFromRewardsWhereRewards.ENO=@ENO

DeleteFromEmployWhereEmploy.ENO=@ENO

End

Else

DeleteFromEmployWhereEmploy.ENO=@ENO

下面为查询2创建一个存储过程,输入参数为部门名称。

CREATEPROCEDURE[dbo].[DispEmploy]

@DNamechar(50)

AS

selectENO,ENAME,Address,TelNo,SALARY,ID,EnterDate,Employ.DNO

fromEmploy

whereEmploy.DNOin(

selectDepartment.DNO

fromDepartment

whereDepartment.DNAME=@Dname)

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

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

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