2023年秋數(shù)據(jù)庫應用實驗指導_第1頁
2023年秋數(shù)據(jù)庫應用實驗指導_第2頁
2023年秋數(shù)據(jù)庫應用實驗指導_第3頁
2023年秋數(shù)據(jù)庫應用實驗指導_第4頁
2023年秋數(shù)據(jù)庫應用實驗指導_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

《微藕庠應用》實犍指導

梁文娟

河南大學計算機與憎息工將學皖

目錄

實驗1SQLServer的安裝及管理工具的使用,錯誤!未定

義書簽。

實驗2交互式SQL。錯誤!未定義書簽。

實驗3數(shù)據(jù)完整性和安全性管理。錯誤!未定義書簽。

實驗4觸發(fā)器和存儲過程實驗........錯誤!未定義書簽。

實驗5數(shù)據(jù)庫備份與恢復............錯誤!未定義書簽。

實驗6數(shù)據(jù)庫設(shè)計綜合應用..........錯誤!未定義書簽。

寺實驗1SQLServer的安裝及管理工具的使用

一、實驗目的

1、通過對某個商用數(shù)據(jù)庫管理系統(tǒng)的使用,了解DBMS的工作原理和系統(tǒng)構(gòu)架。

在此推薦數(shù)據(jù)庫管理系統(tǒng)SQLServer2023,該系統(tǒng)已經(jīng)在機房FTP上。你也可以從

微軟官方網(wǎng)站上下載該系統(tǒng)。

2、熟悉對DBMS的操作

二、實驗內(nèi)容

1、根據(jù)安裝文獻的說明安裝數(shù)據(jù)庫管理系統(tǒng)。在安裝過程中記錄安裝的選擇,并且對所作

的選擇進行思考,為什么要進行這樣的配置,對此后運營數(shù)據(jù)庫管理系統(tǒng)會有什么影響。

2、學會啟動和停止數(shù)據(jù)庫服務,思考可以用哪些方式來完畢啟動和停止。

3、掌握管理工具的使用

(1)SQLServerManagementStudio的使用

A連接服務器的方法

A查詢編輯器的使用

(2)配置管理器的使用

4、了解數(shù)據(jù)庫系統(tǒng)的邏輯組件:

它們重要是數(shù)據(jù)庫對象,涉及基本表、視圖、觸發(fā)器、存儲過程、約束等。此后將學習

如何操作這些數(shù)據(jù)庫對象。

三、實驗報告規(guī)定

1、給出安裝過程中出現(xiàn)的錯誤及解決方法。

2、根據(jù)你所了解的SQLServer工具,寫出部分重要組件的功能(以SQLServer2023為

例,寫出SQLServerManagementStudio>配置管理器)。

?實驗2交互式SQL

2.1創(chuàng)建數(shù)據(jù)庫及表

一、實驗目的

本次實驗了解SQLServer2023的啟動,熟悉如何使用SSMS和SQL建立數(shù)據(jù)庫

和表,并加深對于完整性的理解。

二、背景知識

在使用數(shù)據(jù)庫的過程中,接觸最多的就是數(shù)據(jù)庫中的表。表是數(shù)據(jù)存儲的地方,是數(shù)據(jù)

庫中最重要的部分,管理好表也就管理好了數(shù)據(jù)庫。

表是由行和列組成的。創(chuàng)建表的過程重要就是定義表的列的過程。表的列名在同一個表中

具有唯一性,同一列的數(shù)據(jù)屬于同一種數(shù)據(jù)類型。除了用列名和數(shù)據(jù)類型來指定列的屬性外,

還可以定義其它屬性:是否為空、默認值、標記符列、全局唯一標記符列等。

約束是SQLServer提供的自動保持數(shù)據(jù)庫完整性的一種方法,定義了可輸入表或表

的單個列中的數(shù)據(jù)的限制條件。在SQLServer中有5種約束:主關(guān)鍵字約束(Primary

KeyConstraint)、外關(guān)鍵字約束(ForeignKeyConstraint)、惟一,性約束(Un

iqueConstrain。、檢查約束(CheckConstraint)和默認約束(DefauItConstrain

t)。

三、實驗內(nèi)容

方法1:在SSMS中創(chuàng)建數(shù)據(jù)庫和表

在本練習中,將使用SQLServer2023數(shù)據(jù)庫管理系統(tǒng)創(chuàng)建Student數(shù)據(jù)庫,并在Studen

t數(shù)據(jù)庫中創(chuàng)建表Student,使你可以掌握使用SQLServer2023數(shù)據(jù)庫管理系統(tǒng)創(chuàng)建數(shù)

據(jù)庫和表的方法。

1)啟動SQLServer2023:

依次單擊開始->所有程序->SQLServer2023—>SQLServerManagement

Studio啟動SQLServer2023數(shù)據(jù)庫管理系統(tǒng)

2)登錄數(shù)據(jù)庫服務器:

點擊“連接到服務器“對話框中的連接按鈕連接到SQLServer2023數(shù)據(jù)庫服務器。

3)創(chuàng)建數(shù)據(jù)庫Student

在SQLServer2023數(shù)據(jù)庫管理系統(tǒng)的左邊欄“對象資源管理器”中右擊數(shù)據(jù)庫對象,

在彈出的快捷菜單中單擊“新建數(shù)據(jù)庫”命令。

在彈出的“新建數(shù)據(jù)庫”對話框右側(cè)的數(shù)據(jù)庫名稱中輸入數(shù)據(jù)庫名稱“stUde

然后單擊擬定。

4)在Student數(shù)據(jù)庫中新建表"Student”

。單擊SQLServer2023數(shù)據(jù)庫管理系統(tǒng)的左側(cè)的“對象資源管理器”欄中的“刷新“囪按

鈕,以顯示出新建的數(shù)據(jù)庫“Student”。

依次展開左側(cè)欄對象資源管理器中的“數(shù)據(jù)庫"->“Student”,并右擊Student數(shù)

據(jù)庫中的表項目,在彈出的快捷菜單中單擊“新建表”命令。

在右側(cè)在工作區(qū)中輸入“Student”表的信息,該表具有如下列:

列名數(shù)據(jù)類型完整性約束

SnoCHAR(5)主碼

SnameCHAR(10)非空

SsexBIT無

sageINT無

SdeptCHAR(15)無

*MicrosoftSQLServerMacaqemectStudioExpress

sX<?t(D融踞g*6^08TWCDSBOOAO*T區(qū)gTCRnO-D

.4.新HR向363.中目&

,I*"w<nw得AM勘________________________________________________________

7Hm--▼甲X

WWT____________

|J5THINKPAOXSQLEXPRESS<SQlServer0.0.

u-it_a

CDC3承屋

㈤1JMMS

曰LlSTUDENT

CD0雙SR力工至西

國匚a系統(tǒng)壬

二dho.stud??nt列HtX

麗陽

同義詞i

國J可

件;和〉SnoQ

l*JL_aMi?耍t攵長度5

CD口默認定

3JBS?5-255TJJte知振丈里—

(30口豆制

CD匚if曾一

單擊文獻菜單中的保存命令保存該表,并取名為“Student”。

方法二、使用SQL語句創(chuàng)建數(shù)據(jù)庫和表

I)單擊工具欄中的“新建查詢”按鈕,并在彈出的“連接到服務器”對話框中單擊“連

接”按鈕,新建一個SQL腳本。

2)在右側(cè)的SQL腳本輸入框中輸入如下SQL代碼:

CREATEDATABASESTUDENT--倉犍STUDENT數(shù)據(jù)庫

GO

USESTUDENT轉(zhuǎn)到STUDENT數(shù)據(jù)庫

GO

CREATETABLESTUDENT。--在STUDENT數(shù)據(jù)庫中倉i]建表STUDENT

(

oSnoCHAR(5)PRIMARYKEY,

SnameCHAR(10)NOTNULL,

oSsexBIT,

SageINT,

oSdeptCHAR(15)

)

單擊工具欄中的'蛇兇執(zhí)行按鈕,運營SQL語句,完畢數(shù)據(jù)庫與表的創(chuàng)建。

四、實驗任務

1.用兩種方法建立一個新數(shù)據(jù)庫HRM(也可任意取名)。

2.在數(shù)據(jù)庫HRM中,建立如下所示的三個表:

Emp1oyee表

列名數(shù)據(jù)類型長度是否允許為空說明

EmployeelDChar6否員工編號.主鍵

NameChar10否姓名

BirthdayDatetime8否出生日期

SexBit1否性別

AddressChar20地址

ZipChar6是郵編

PhoneNumberChar12電話號碼

Emai1AddreChar30是電子郵件地址

ss

DepartmentlDChar3否員工部門號,外鍵

Departments表

列名數(shù)據(jù)類型長度是否允許為空說明

DepartmentIDChar3否員工部門號,主鍵

DepartmenChar20否部門名

tName

NoteText16是備注

Salary表

列名數(shù)據(jù)類型長度是否允許為空說明

EmployeelDChar6否員工編號,外鍵

1ncomeFloat8否收入

0utComeFloat8否支出

3.對三張表輸入數(shù)據(jù)(可任意輸入,但注意要符合完整性規(guī)定,否則會犯錯,在本實驗中,外

鍵設(shè)立可先不做規(guī)定)

五、實驗報告規(guī)定

1、規(guī)定給出三個表創(chuàng)建的SQL語句,規(guī)定建表時給出主外鍵約束、唯一約束、取空值

約束、用戶自定義的約束等。(注:在實驗報告上只需寫出其中一個表的SQL語句即可)

2、舉例說明如何操作會違反完整性(實體完整性、參照完整性)。

42.2SQL數(shù)據(jù)查詢語句

一、實驗目的

?了解SQLServer2023查詢編輯器的啟動,熟悉如何在SQLServer202

3查詢編輯器查詢記錄。

?掌握SELECT語句的基本語法和查詢條件表達方法

?掌握GROUPBY和ORDERBY子句的作用和使用方法

?掌握連接查詢和子查詢的使用方法

二、實驗內(nèi)容

1、單擊工具欄中的“新建查詢”按鈕,并在彈出的“連接到服務器”對話框中單擊“連接”

按鈕,新建一個SQL腳本。

2、在SQL腳本中寫數(shù)據(jù)查詢語句執(zhí)行;

從表中查詢數(shù)據(jù):

在查詢分析器的查詢窗口中輸入SQL語句,如圖所示。

點擊,蛇兇按鈕,執(zhí)行該SQL語句,在查詢窗口下部出現(xiàn)一個輸出窗口,如圖所示。

三、實驗任務

I.對上節(jié)建立的表輸入數(shù)據(jù):

Departments表:

Department1DDepartmentNameNote

1財務部財務部

2研發(fā)部研發(fā)部

3人力資源部人力資源部

Employee表

EmployeelNameBirthSexAddressZipPhEmai1AddressDepartme

DdayoneNumbernt1D

1001李力78-3-0河南47538803781

12001

1002王敏80-11-21河南47503783111

002

1003劉晨78-6-220河南403783221

75003

2023張立78-8-10河南47500403783332

2023劉毅82-1-230河南47503783442

005

2023張玫81-31河南4750003783552

-156

3001徐靜76-8-121河南475003783663

07

3002趙軍79-2-10河南47503783773

9008

SaIary表

EmployeelD1neomeOutCome

100136001500

100233001000

100337001200

202340001600

202338001800

202338001500

300142002023

300241001800

2、練習下面簡樸的查詢語句:

a)查詢每個雇員的所有信息

b)查詢每個雇員的地址和電話

c)查詢EmployeelD為000001的雇員的地址和電話。

d)查詢女雇員地址和電話,并用AS子句將結(jié)果中各列的標題分別指定為“地址”和“電

話”。

e)計算每個雇員的實際收入。

f)找出所有姓王的雇員的部門號。

思考:找出所有地址中具有“中山”的雇員的號碼和部門號。

3、練習多表連接查詢和嵌套查詢:

a)查詢每個雇員的情況及工資情況(工資=Income—0ulcome)

b)查詢財務部工資在2200元以上的雇員姓名及工資情況

c)查詢研發(fā)部在1966年以前出生的雇員姓名及其工資詳情

d)查詢?nèi)肆Y源部雇員的最高和最低工資

e)將各雇員的情況按工資由低到高排列

D求各部門的雇員數(shù)

g)找出所有在財務部和人力資源部工作的雇員的編號

h)記錄人力資源部工資在2500以上雇員的人數(shù)

i)求財務部雇員的總?cè)藬?shù)

j)求財務部雇員的平均工資

k)查找比所有財務部的雇員工資都高的雇員的姓名

I)查找財務部年齡不低于研發(fā)部所有雇員年齡的雇員的姓名

m)查找在財務部工作的雇員的情況

四、實驗報告規(guī)定

1、寫出與上述查詢?nèi)蝿障嘞鄳腟QL查詢語句(注:在實驗報告上寫出2-d、2-e、2—f及

3中所有練習的SQL語句)

2、并記錄在實驗過程中碰到的問題、解決辦法及心得體會。

2.3視圖的定義和操作

一、實驗目的:

。理解視圖的概念,掌握視圖的使用方法。

二、預計實驗時間:上機一次

三、實驗過程

1.相應HRM數(shù)據(jù)庫,參照前面實驗中完畢的查詢,按如下規(guī)定自行設(shè)計視圖:

1)基于單個表按投影操作定義視圖。

舉例:定義一個視圖用以查看所有員工的編號、姓名和出生日期。

2)基于單個表按選擇操作定義視圖。

舉例:定義一個滿足sex='true’的員工的所有信息的視圖。

3)基于單個表按選擇和投影操作定義視圖。

舉例:定義一個視圖用以查看部門號碼為’2'的所有員工的姓名、電話和郵件地址。

4)基于多個表根據(jù)連接操作定義視圖。

舉例:定義一個視圖用以查看所有員工的姓名、部門名及工資。

5)基于多個表根據(jù)嵌套查詢定義視圖。

舉例:定義一個比所有財務部的雇員工資都高的雇員的信息的視圖

6)定義具有虛字段(即基本表中原本不存在的字段)的視圖。

舉例:定義一個視圖用以查看所有雇員的編號、姓名、年齡。

2.分別在定義的視圖上進行查詢、插入、更新和刪除操作,分情況(查詢、更新)討論哪些

操作可以成功完畢,哪些不能成功完畢,并分析因素。

四、實驗報告規(guī)定:

1、在實驗報告中要給出上述任務的視圖定義語句;(注:實驗報告上寫出4、5、6的SQL

語句)

2、分情況討論哪些操作可以成功完畢,哪些不能成功完畢。

查詢操作:舉出一個進行查詢操作的例子。更新操作:更新操作包含插入、更新、刪除,

針對不能成功完畢更新操作的情況舉出兩個例子,并分析因素。

2.4SQL數(shù)據(jù)更新語句

一、實驗目的

?加深對SQL數(shù)據(jù)更新(插入、修改及刪除)語句的基本語法格式的掌握

?掌握單個元組及多個元組的插入、修改及刪除操作的實現(xiàn)過程

?加深對更新操作時數(shù)據(jù)庫中數(shù)據(jù)一致性問題的了解

?加深對約束條件在數(shù)據(jù)更新操作執(zhí)行中的作用問題的了解

二、實驗內(nèi)容

方法一:在SSMS中插入、刪除及修改數(shù)據(jù),

方法二:在查詢編輯器中寫SQL插入、刪除及修改數(shù)據(jù)

三、實驗任務

設(shè)有一個SPJ數(shù)據(jù)庫,涉及S,P,J,SPJ四個關(guān)系模式:

S(SNO,SNAME,STATUS,CITY)?

表-dbo.S表-dbo.F表-dbo.J摘要

列名數(shù)據(jù)類型允許空

題1char(2)□

SNAMEvarchar(20)0

STATUSchar(4)0

CITYchar(10)0

P(PNO,PNAME,COLOR,WEIGHT)

列名數(shù)據(jù)類型允許空

char(2)□

PNAMEvardiar(20)0

COLORchar(4)0

WEIGHTint0

J(JNOJNAME,CITY)

列名數(shù)據(jù)類型允許空

JNO\char(2)□

JNAMEvarchar(20)0

CITYchar(10)0

供應商表S由供應商代碼(SNO)、供應商姓名(SNAME)、供應商(STATUS)、供應商所

在城市(CITY)組成;

零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)

組成;

工程項目表J由工程項目代碼(JNO)、工程項目名(JNAME)、工程項目所在城市(CIT

Y)組成;

供應情況表SPJ由供應商代碼(SNO)、零件代碼(PNO)、工程項目代碼(JNO)、供應數(shù)量

(QTY)組成,表達某供應商供應某種零件給某工程項目的數(shù)量為QTY。試完畢以下操作:

1.在S表中插入元組“s6,華譽,40,廣州”

2.在J表中插入元組“j8,傳感器廠”

3.對每一個供應商,求他為各種工程供應零件的總數(shù)量,并將此結(jié)果存入數(shù)據(jù)庫

4.將P表中PNO值為p6的元組的color屬性值改為綠,weight屬性值改為60

5.將SPJ表中前4個元組的qty屬性值統(tǒng)一修改為300

6.將S表中city屬性名具有“京”或“津”的相應status屬性值增長100

7.將供應商s2為“一汽”工程項目所供應的零件數(shù)量修改為2023

8.將所有紅色零件的顏色修改為淺紅色

9.由s5供應j4的零件p6改為由s3供應

10.在SPJ表中新增一名為SDATE的屬性列,對該表中的每一元組在sDATE屬性列上

填上實驗當時的日期和時間

11.刪除所在城市為“廣州”的供應商記錄

12.刪除所有零件名稱中第一個字為“螺”字的零件記錄,并在供應情況表中刪除相應的記錄

13.刪除s3和s4兩供應商為“三建”工程供應“螺母”或“螺絲刀”零件的相應供應情

況數(shù)據(jù)信息

四、實驗報告規(guī)定

1、寫出與上述任務相相應的SQL更新語句(實驗報告上寫出3、5、10的SQL語句)

2、并記錄在實驗過程中碰到的問題、解決辦法及心得體會。

實驗3數(shù)據(jù)完整性和安全性管理

3.1數(shù)據(jù)完整性管理

一、實驗目的

?掌握域完整性的實現(xiàn)方法。

?掌握實體完整性的實現(xiàn)方法。

?掌握參照完整性的方法。

二、實驗內(nèi)容

數(shù)據(jù)庫的完整性設(shè)立.

三、實驗環(huán)節(jié)

?可視化界面的操作方法:

>實體完整性

1.將student表的“sno”字段設(shè)為主鍵:在表設(shè)計界面中,單擊左邊的行選定塊,

選定“sno”字段,單擊工具按鈕°設(shè)立主鍵。如圖1所示:

文件(E)?tt(DWHkyWH(D襄設(shè)計吸DIXD的口出ttE(£)??KH)

,新建讖聞w」gg

u[Z]WH媼T口

▼X

,」[$熱日口_______列名」舛許至I

-n~㈣5。vorc#w13)r

0ustb2003_cnanwv"ch?(30)

ctedt

varchar(3)

r

PRIMARY

PRIMARY

.否

??(£?-彭J

:-:l3USTB2003(SQlServer9.0.1399-M)

(-.Lu的據(jù)聲

I-:一系統(tǒng)數(shù)18庫

(Ht_i歡據(jù)座快婚

EBJAdventureW8M

ffiJeWorl?DW

ijMxto

?|JReportServer

JReportSefverTenipCe

HijxR

困一!救拓摩關(guān)系圖

日N衰

>11系嫵表

引□dbo.course

田口dbo.sc

圖23dbo.ctuttore

用_j視SJ

I*I一i句義詞

:南北方孝市孝學俵

W_J可必程性IISIS

tH」ServkeBrokxr

sws

圖1

1.將“sc”表的“sno”和“eno”設(shè)立為主鍵:在表設(shè)計界面中,單擊并按住Ctrl鍵拖

動左邊的行選定塊,選定sn。和cn。字段,單擊工具按鈕£設(shè)立主鍵。如圖2所

不:

IMkr?50flSQLServerManaqementStudio

文件(E)編轍0視圖(9IS目⑻表設(shè)計器?工艮⑴窗口(給社區(qū)?幫助(由

上新建登詢⑼UJ修⑦&GU*?;9GH三

而廠!」包耳息目品,叫……一包

對密生黯理器

連撒o)?恕由',

ZtjjUSTB2003(SQLServer9.0.1399-sa)

H[j數(shù)據(jù)庫

3口系統(tǒng)數(shù)據(jù)庫

EE)口數(shù)據(jù)庫快照

*:?JAdventureWorks

EliJAdventureWorksDW

SJ為網(wǎng)

ffl1JReportserver

EB|JReportServerTempDB

SIjxsgl

3口數(shù)據(jù)摩關(guān)系圖

日。表

E口系統(tǒng)表

E)口dbo.course

田□dbo.se

03dbo.student

國U視的

fflLJ同義詞

S□可編程性

SLJServiceBroker

就緒

圖2

>域完整性

3.將“ssex"字段設(shè)立為只能取“男”,“女”兩值:在表設(shè)計界面,點擊鼠標右鍵一CHEC

K約束,——添加約束,添加CK_student_sex名稱,然后在約束表達式框中輸入“ssexin('

男','女'):如圖3所示。

MitroxoR

文件(E)綱輯(E)視60(0J5S(E>表設(shè)計?S(UXA(D宜口生)社區(qū)(。格物由

/臉查詢3」;皿:力,jH1D”匕一丁岳

。W斕總4近17?,,.④</儲“次階:八一唱U.二一

己立陽的AB名明

列名I數(shù)據(jù)類型紀

:i數(shù)據(jù)我弓|球varchor(lO)「

gu5tb2003varchat(lO)「

v?rchaf<2)r"

一定的CHECK妁束⑸;

|CK_student_sex*爵麒輜般段需吃明酢先由?*?

表達式(Q:

0(??)

ein('男,,匆表達式

對用資陛甘理糊□標識

雪白二(名的CK_studeht_jex

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論