日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

数据库课程设计——学生宿舍信息管理系统

發(fā)布時(shí)間:2024/3/13 windows 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库课程设计——学生宿舍信息管理系统 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)據(jù)庫(kù)課程設(shè)計(jì)——學(xué)生宿舍信息管理系統(tǒng)

目錄?????????????????????????????????????????????????????????????????????????????????????????????

1.設(shè)計(jì)目的... 2

2、任務(wù)與要求... 2

3、學(xué)生宿舍管理系統(tǒng)課程設(shè)計(jì)... 2

3.1 引言... 2

3.2需求分析... 2

3.2.1. 2

3.2.2. 3

3.3概念設(shè)計(jì)... 6

3.4邏輯設(shè)計(jì)... 10

3.5物理結(jié)構(gòu)設(shè)計(jì)... 12

3.6數(shù)據(jù)庫(kù)實(shí)施... 14

3.6.1數(shù)據(jù)庫(kù)表的定義... 14

3.6.2視圖的定義:... 15

3.6.3索引:... 16

3.6.4觸發(fā)器的定義:... 17

3.6.5用戶的定義:... 18

3.6.6 對(duì)數(shù)據(jù)的管理:... 18

3.7系統(tǒng)調(diào)試和測(cè)試... 19

4.系統(tǒng)評(píng)價(jià)... 20

4.1我的系統(tǒng)特色:... 20

4.2 系統(tǒng)不足及改進(jìn)... 21

5.設(shè)計(jì)心得... 21

?

1.設(shè)計(jì)目的

《數(shù)據(jù)庫(kù)系統(tǒng)原理》課程設(shè)計(jì)是軟件工程和計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)集中實(shí)踐性環(huán)節(jié)之一,旨在讓我們自身加深對(duì)數(shù)據(jù)庫(kù)基礎(chǔ)理論和基本知識(shí)的理解,掌握設(shè)計(jì)數(shù)據(jù)庫(kù)管理系統(tǒng)的基本方法,鍛煉運(yùn)用知識(shí)解決實(shí)際問(wèn)題的動(dòng)手能力。

2、任務(wù)與要求

要求學(xué)生們從給定的設(shè)計(jì)題目中進(jìn)行選擇,進(jìn)行需求分析,概念設(shè)計(jì)、邏輯設(shè)計(jì),數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程,表結(jié)構(gòu)、表之間的關(guān)聯(lián),給出視圖的定義、觸發(fā)器的定義、索引,安全性的實(shí)現(xiàn),用SQL語(yǔ)句等在SQL Server 2008系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)庫(kù)的數(shù)據(jù)輸入,查詢,更新和輸出;給出實(shí)現(xiàn)效果截圖及部分測(cè)試結(jié)果。

?

3、學(xué)生宿舍管理系統(tǒng)課程設(shè)計(jì)

3.1 引言

?

隨著社會(huì)的發(fā)展以及教育水平的提高,當(dāng)今社會(huì)在校生的數(shù)量越來(lái)越龐大。與此同時(shí),使用曾經(jīng)的手工的方式對(duì)學(xué)生的信息進(jìn)行管理效率非常低下。在互聯(lián)網(wǎng)技術(shù)高度發(fā)達(dá)的今天 ,使用數(shù)據(jù)庫(kù)技術(shù)隊(duì)對(duì)學(xué)生的住信息進(jìn)行管理能夠使學(xué)校對(duì)學(xué)生信息的管理更加的高效,檢索迅速,查找方便,可靠性高存儲(chǔ)量大。使用數(shù)據(jù)庫(kù)技術(shù)的這些優(yōu)點(diǎn)可以使得學(xué)生信息出錯(cuò)的發(fā)生。同時(shí)使用數(shù)據(jù)庫(kù)技術(shù)可以使學(xué)生住宿信息長(zhǎng)時(shí)間穩(wěn)定地保存,也不容易丟失。開(kāi)發(fā)出這樣的一個(gè)數(shù)據(jù)庫(kù)迫在眉睫。

3.2需求分析

3.2.1

?系統(tǒng)需求調(diào)查的方法為訪談法,通過(guò)對(duì)多個(gè)學(xué)校的宿舍管理人員進(jìn)行交談,從而得出系統(tǒng)的主要任務(wù)和特定的要求。系統(tǒng)的主要任務(wù)是能夠?qū)λ奚嵝畔?#xff0c;學(xué)生信息,管理員信息,住宿信息進(jìn)行登記,調(diào)整,并能進(jìn)行各種查詢以及信息的備份。

?

完整性要求:防止不符合語(yǔ)義的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)。

安全性要求:需要防止客戶對(duì)數(shù)據(jù)進(jìn)行未經(jīng)授權(quán)的訪問(wèn)。

性能要求:最好能夠?qū)崿F(xiàn)并發(fā)訪問(wèn),允許多個(gè)用戶同時(shí)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行訪問(wèn)。

一致性要求:防止數(shù)據(jù)庫(kù)進(jìn)入不一致?tīng)顟B(tài)。

數(shù)據(jù)庫(kù)要求:各種各樣的故障都可能發(fā)生,出現(xiàn)意外時(shí),,盡可能的確保任何數(shù)據(jù)在任何情況下都不會(huì)丟失。

3.2.2

系統(tǒng)的業(yè)務(wù)流程:

學(xué)生入住和退宿時(shí)通過(guò)管理員進(jìn)行登記;

住宿產(chǎn)生的各種費(fèi)用以及使用的各項(xiàng)物品由管理員進(jìn)行登記;

管理員將登記的各項(xiàng)信息上報(bào)給教務(wù)處;

教務(wù)處將各項(xiàng)住宿信息進(jìn)行統(tǒng)一管理;

儲(chǔ)存的所有數(shù)據(jù)供不同權(quán)限的客戶進(jìn)行訪問(wèn);

?

?

數(shù)據(jù)字典:

學(xué)生基本信息

編號(hào)

屬性名

類型

解釋

備注

0001

學(xué)號(hào)

Varchar(15)

無(wú)

無(wú)

0002

姓名

Varchar(10)

無(wú)

無(wú)

0003

性別

Varchar(2)

無(wú)

男、女

0004

年齡

Int

無(wú)

0……100之間

0005

手機(jī)號(hào)

Varchar(15)

手機(jī)號(hào)碼

無(wú)

0006

專業(yè)

Varchar(20)

無(wú)

無(wú)

?

住宿費(fèi)用信息:

?

?

編號(hào)

屬性名

類型

解釋

備注

0008

表單編號(hào)

Varchar(15)

無(wú)

無(wú)

0009

學(xué)號(hào)

Varchar(15)

無(wú)

無(wú)

0010

宿舍號(hào)

Varchar(6)

不是門牌號(hào)

無(wú)

0011

水費(fèi)

Double(6)

無(wú)

大于0

0012

電費(fèi)

Double(6)

無(wú)

大于0

0013

維修費(fèi)

Double(6)

無(wú)

大于0

0014

住宿費(fèi)

Double(6)

無(wú)

大于0

0015

日期

Date(8)

無(wú)

無(wú)

0016

合計(jì)

Double(6)

無(wú)

大于0

?

?

?

物品管理信息:

?

編號(hào)

屬性名

類型

解釋

備注

0017

員工號(hào)

Varchar(15)

無(wú)

無(wú)

0018

宿舍號(hào)

Varchar(15)

無(wú)

無(wú)

0019

桌子

Int

無(wú)

大于0

0020

椅子

Int

無(wú)

大于0

0021

Int

無(wú)

大于0

0022

電扇

Int

無(wú)

大于0

0023

Int

無(wú)

大于0

0024

窗戶

Int

無(wú)

大于0

?

?

?

宿舍信息

?

編號(hào)

屬性名

類型

解釋

備注

0025

宿舍編號(hào)

Varchar(15)

無(wú)

無(wú)

0026

樓號(hào)

Varchar(15)

無(wú)

無(wú)

0027

區(qū)域

Varchar(15)

校園內(nèi)

ABCDEFG

0028

人數(shù)

Int

無(wú)

0……8

0029

房間類型

Varchar(15)

按人數(shù)分

1(四人)2(六人)3(八人)

?

?

管理員信息

?

編號(hào)

屬性名

類型

解釋

備注

0030

員工號(hào)

Varchar(15)

無(wú)

無(wú)

0031

姓名

Varchar(10)

無(wú)

無(wú)

0032

性別

Varchar(2)

無(wú)

男,女

0033

年齡

Int

無(wú)

0……100

0034

手機(jī)號(hào)

Varchar(15)

無(wú)

11位

0035

樓號(hào)

int

無(wú)

無(wú)

0036

區(qū)域

int

無(wú)

ABCDEFG

0037

職位

Varchar(2)

無(wú)

1(高級(jí)員工)2(普通員工)

?

?

3.2.2 系統(tǒng)功能描述:

對(duì)學(xué)生的信息進(jìn)行管理;

對(duì)宿舍信息進(jìn)行管理;

對(duì)管理員信息進(jìn)行管理;

對(duì)宿舍物品進(jìn)行登記和管理;

對(duì)住宿產(chǎn)生的各項(xiàng)費(fèi)用進(jìn)行登記和管理;

對(duì)已經(jīng)更改的學(xué)生和管理員信息進(jìn)行保存

?

在這幅圖中,其中各項(xiàng)從左往右前5部分功能都包括各自信息的增刪改查,第六項(xiàng)功能為學(xué)生和教師信息的備份,也就是已修改信息儲(chǔ)存。

3.3概念設(shè)計(jì)

(說(shuō)明使用數(shù)據(jù)庫(kù)概念設(shè)計(jì)的基本思想和原理方法,設(shè)計(jì)出系統(tǒng)E-R圖)

基本思想:將需求分析得到的用戶需求抽象為信息結(jié)構(gòu),分析數(shù)據(jù)字典中數(shù)據(jù)字典間內(nèi)在語(yǔ)義關(guān)聯(lián),并將其抽象表示為數(shù)據(jù)的概念模式,從而能真實(shí),充分地反應(yīng)真實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理需求,是現(xiàn)實(shí)世界的一個(gè)真實(shí)模型,易于理解,從而可以用它和不熟悉計(jì)算機(jī)的人交換意見(jiàn),且易于更改。方法:首先分析整個(gè)系統(tǒng)中涉及到的實(shí)體,得到局部的ER圖。然后分析這些實(shí)體之間的關(guān)系,進(jìn)行連接從而得到

?

?

?

?

?

?

3.4邏輯設(shè)計(jì)

基本思想:首先整個(gè)系統(tǒng)一共可以劃分出三個(gè)實(shí)體,分別是學(xué)生,管理員和宿舍,三者之間構(gòu)成一個(gè)三角關(guān)系。同時(shí),學(xué)生和宿舍之間的住宿關(guān)系衍生出一系列的住宿產(chǎn)生的費(fèi)用,管理員和宿舍的管理關(guān)系衍生出一系列需要管理的物品,因此五張表相互關(guān)聯(lián)生成完整的數(shù)據(jù)庫(kù)系統(tǒng)。

數(shù)據(jù)庫(kù)關(guān)系圖:

學(xué)生的個(gè)人信息:學(xué)號(hào),姓名,性別,年齡,手機(jī)號(hào)碼,專業(yè),管理員號(hào)

student(stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe,manager_num)

?

宿舍費(fèi)用信息:表單編號(hào),水費(fèi),電費(fèi),維修費(fèi),住宿費(fèi),總費(fèi)用,日期

live(list_num,stu_num,dor_num,water,electric,service,lodge,total,date)

?

宿舍物品信息:桌子,椅子,床,燈,

tool(mana_num,dor_num,table,chair,bed,light)

?

宿舍信息:宿舍編號(hào),人數(shù),房間類型,樓號(hào),區(qū)域

dormitory(dor_num ,prople_total,size, build_num,zone)

?

宿舍管理人員信息:員工號(hào),姓名,性別,年齡,手機(jī)號(hào)

manager(mana_num,mana_name,mana_gender,mana_age,mana_tele)

??

??

3.5物理結(jié)構(gòu)設(shè)計(jì)

?

物理設(shè)計(jì)的基本思想:根據(jù)邏輯設(shè)計(jì)出的邏輯模式,DBMS及計(jì)算機(jī)系統(tǒng)所提供的手段和施加的限制,設(shè)計(jì)數(shù)據(jù)庫(kù)的內(nèi)模式,即文件結(jié)構(gòu),各種路徑,控件分配,記錄的存取方式等,為邏輯數(shù)據(jù)結(jié)構(gòu)選取一個(gè)最合適的應(yīng)用環(huán)境的物理結(jié)構(gòu)。

學(xué)生基本信息表:

?

屬性名

類型

長(zhǎng)度

備注

Stu_num

varchar

15

無(wú)

Stu_name

varchar

10

無(wú)

Stu_gender

varchar

2

男、女

Stu_age

int

4

0……100之間

Stu_tele

varchar

15

無(wú)

Stu_spe

varchar

20

無(wú)

住宿費(fèi)用信息表:

?

屬性名

類型

長(zhǎng)度

備注

List_num

Varchar

15

無(wú)

?? Stu_num

Varchar

15

無(wú)

?? Dor_num

Varchar

15

無(wú)

water

double

6

大于0

Elect

double

6

大于0

??? Repaire

double

6

大于0

live

double

6

大于0

date

date

8

指的是具體一年

物品管理信息表:

?

屬性名

類型

長(zhǎng)度

備注

Mana_num

Varchar

15

無(wú)

??? Dor_num

Varchar

15

無(wú)

Desk

Int

2

大于0

Chair

Int

2

大于0

Bed

Int

2

大于0

fan

Int

2

大于0

lighr

Int

2

大于0

window

Int

2

大于0

宿舍信息表:

屬性名

類型

長(zhǎng)度

備注

Dor_num

Varchar

15

無(wú)

Build_num

Varchar

2

無(wú)

Zone

Varchar

2

ABCDEFG

People_total

Int

2

0……8

size

varchar

2

1(四人)2(六人)3(八人)

管理員信息表:

屬性名

類型

長(zhǎng)度

備注

?? Mana_num

Varchar

15

無(wú)

Mana_name

Varchar

10

無(wú)

Mana_gender

Varchar

2

男,女

Mana_age

Int

4

0……100

Mana_tele

varchar

15

11位

Build_num

int

2

無(wú)

zone

varchar

2

ABCDEFG

3.6數(shù)據(jù)庫(kù)實(shí)施

數(shù)據(jù)庫(kù)的實(shí)施:數(shù)據(jù)庫(kù)設(shè)計(jì)完成后,設(shè)計(jì)人員要用DBMS提供的數(shù)據(jù)定義語(yǔ)言和其他的使用程序?qū)?shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)的結(jié)構(gòu)用DDL嚴(yán)格描繪出來(lái),成為DBMS可以接受的源代碼,再經(jīng)過(guò)調(diào)試產(chǎn)生目標(biāo)模式。最后將數(shù)據(jù)裝入數(shù)據(jù)庫(kù)。

?

3.6.1數(shù)據(jù)庫(kù)表的定義

創(chuàng)建學(xué)生信息表:

?Create table student

(stu_num? varchar(15),

Stu_name? varchar(10),

Stu_gender? varchar(2)? check(stu_gender=’男’ or stu_gender=’女’),

Stu_age? int? check(stu_age>0 and stu_age<100),

Stu_tele? varchar(15),

Stu_spe? varchar(20),

Primary key (stu_num),

);

?

創(chuàng)建費(fèi)用信息表:

?Create? table? live

( list_num? varchar(15),

Stu_num? varchar(15),

Dor_num? varchar(15),

Water? float check(water>=0),

Elect? float? check(elect>=0),

Repair? float? check(repair>=0),

Living? float? check(living>=0),

statu? int default(1),?

Date? date,

Primary key(list_num),

Foreign key (stu_num ) references? student(stu_num)

on update cascade,

Foreign key (dor_num ) references? dormitory(dor_num)

on update cascade

);

?

?

創(chuàng)建物品信息管理表:

Create? table tool

( mana_num? varchar(15),

Dor_num? varchar(15),

desk? int? check(desk>=0),

Chair? int? check(chair>=0),

Bed? int? check(bed>=0),

Light? int? check(light>=0),

Primary key (dor_num),

Foreign key (mana_num ) references? manager(mana_num)

on update cascade on delete set null

);

?

創(chuàng)建宿舍信息管理表:

?Create table dormitory

(dor_num varchar(15),

People_total? int? check(people_total>=0 and people_total<=8),

Size?? int check(size=1 or size=2? or size=3)

);

?

創(chuàng)建管理員信息表:

?Create table manager

(mana_num? varchar(15),

mana_name? varchar(10),

mana_gender? varchar(2)? check(stu_gender='男' or stu_gender='女'),

mana_age? int? check(stu_age>0 and stu_age<100),

mana_tele? varchar(15),

Primary key (mana_num)

);

?

3.6.2視圖的定義:

所有的信息匯總在一起:

Create view allmass

(stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe,stu_statu,list_num,dor_num,water,elect,repair,living,live_status,Date,people_total,size,dor_status,mana_num,desk,chair,bed,light,tool_statu,mana_name,mana_gender,mana_age,mana_tele,mana_statu)

as select student.stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe,stu_statu,list_num,dormitory.dor_num,water,elect,repair,living,live_statu,Date,people_total,size,dor_statu,manager.mana_num,desk,chair,bed,light,tool_statu,mana_name,mana_gender,mana_age,mana_tele,mana_statu

from student,lives,dormitory,tool,manager

where student.stu_num=lives.stu_num

and lives.dor_num=dormitory.dor_num

and dormitory.dor_num=tool.dor_num

and tool.mana_num= manager.mana_num ;

學(xué)生信息視圖:

Select stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe,mana_name

from allmass

where stu_statu=1;

?

管理員信息:

create view manager_view

as

select manager.mana_num,mana_name,mana_age,mana_gender,mana_tele

from manager

where? mana_statu=1;

宿舍信息:

create view dormitory_view

as

select tool.dor_num,build_num,zone,people_total,size

from tool,dormitory

where tool.dor_num=dormitory.dor_num and dor_statu=1;

物品信息:

create view tool_view

as

select dor_num,mana_num, desk,chair,bed,light

from tool

where tool_statu=1;

賬單信息:

create view lives_view

as

select list_num,stu_name,dor_num,water,elect,date,repair,living

from lives,student

where live_statu=1 and lives.stu_num=student.stu_num;

?

3.6.3索引:

每一張表通過(guò)主鍵的列產(chǎn)生索引,從而加快查詢時(shí)的進(jìn)度。

拿學(xué)生信息表進(jìn)行舉例:

Create index stu_index on student(stu_num);

當(dāng)然可以通過(guò)數(shù)據(jù)庫(kù)自動(dòng)生成。

?

3.6.4觸發(fā)器的定義:

在學(xué)生表上建立觸發(fā)器,記錄被修改的信息。在原表中通過(guò)一個(gè)狀態(tài)屬性標(biāo)示是否被刪除,因此數(shù)據(jù)并不會(huì)真正被刪除,只需要記錄被修改的信息。

create trigger on_pre_stu

on student

for update

as

begin

declare @stu_num varchar(15)

declare @pre_stu_name varchar(10)

declare @pre_stu_gender varchar(2)

declare @pre_stu_age int

declare @pre_stu_tele varchar(15)

declare @pre_stu_spe? varchar(20)

select? @stu_num = stu_num from deleted

select @pre_stu_name =stu_name from deleted

select @pre_stu_gender =stu_gender from deleted

select @pre_stu_age = stu_age from deleted

select @pre_stu_tele =stu_tele from deleted

select @pre_stu_spe = stu_spe from deleted

insert into pre_stu(stu_num,pre_stu_name,pre_stu_gender,pre_stu_age,pre_stu_tele,pre_stu_spe )

values(@stu_num,@pre_stu_name,@pre_stu_gender,@pre_stu_age,@pre_stu_tele,@pre_stu_spe)

end

?

在管理員上建立觸發(fā)器,記錄被修改的信息。在原表中通過(guò)一個(gè)狀態(tài)屬性標(biāo)示是否被刪除,因此數(shù)據(jù)并不會(huì)真正被刪除,只需要記錄被修改的信息。

?

create trigger on_pre_mana

on manager

for update

as

begin

declare @mana_num varchar(15)

declare @pre_mana_name varchar(10)

declare @pre_mana_gender varchar(2)

declare @pre_mana_age int

declare @pre_mana_tele varchar(15)

select? @mana_num = mana_num from deleted

select @pre_mana_name =mana_name from deleted

select @pre_mana_gender =mana_gender from deleted

select @pre_mana_age = mana_age from deleted

select @pre_mana_tele =mana_tele from deleted

insert

into pre_mana(mana_num,pre_mana_name,pre_mana_gender,pre_mana_age,pre_mana_tele)values(@mana_num,@pre_mana_name,@pre_mana_gender,@pre_mana_age,@pre_mana_tele)

??? end

3.6.5用戶的定義:

create user dba for login dba with default_schema=dbo

exec sp_addrolemember 'db_owner' ,'dba'

?

3.6.6 對(duì)數(shù)據(jù)的管理:

對(duì)數(shù)據(jù)的管理主要是由增刪改查組成,以學(xué)生信息的管理為例,

增加:

insert into

student(stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe,stu_statu)

values('201677H0555','劉飛達(dá)','男',19,14646646465,'軟工',1);

?

刪除:值得注意的是我刪除信息用的是更新信息語(yǔ)句,只需要更改狀態(tài)值即可標(biāo)示數(shù)據(jù)是否被刪除,數(shù)據(jù)不會(huì)真的被刪除,做好了別分工作。

update student set stu_status=0 where stu_num=’201677H0522’;

修改:

update student set stu_name='劉豪' where stu_num='201677H0522';

?

查詢:值得注意的是查詢的條件是數(shù)據(jù)行的狀態(tài)值是1,也就是被標(biāo)示未被刪除。

select stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe from student where stu_statu=1;

?

分別查詢每一個(gè)宿舍的總費(fèi)用,并且按照宿舍號(hào)進(jìn)行排序(使用的是分組求和的思想):

select dor_num , sum(w?? ater+elect + repair +living) from lives group by dor_num order by dor_num ;

在sql代碼執(zhí)行的過(guò)程中,會(huì)自動(dòng)生成存儲(chǔ)過(guò)程,將有價(jià)值的存儲(chǔ)過(guò)程進(jìn)行儲(chǔ)存。

?

3.7系統(tǒng)調(diào)試和測(cè)試

?

在對(duì)數(shù)據(jù)庫(kù)的備份功能進(jìn)行測(cè)試的過(guò)程中,我在原表中對(duì)數(shù)據(jù)進(jìn)行修改,從而觸動(dòng)觸發(fā)器將被刪除的信息儲(chǔ)存在備份表中。執(zhí)行語(yǔ)句update student set stu_name='劉豪' where stu_num='201677H0522'; 然后查看備份表中的信息,驗(yàn)證之后正確。

?

把數(shù)據(jù)庫(kù)總所有的信息聯(lián)合起來(lái),形成一張非常大的表,生成一個(gè)視圖,測(cè)試之后,可以成功生成,滿足要求。

在安全性方面,我創(chuàng)建了用戶并且進(jìn)行了授權(quán):

create login dba with password='123456', default_database=stu_dor_manage;

create user dba for login dba with default_schema=dbo

exec sp_addrolemember 'db_owner' ,'dba'

執(zhí)行以后,成功生成了一個(gè)用戶:測(cè)試成功!

4.系統(tǒng)評(píng)價(jià)

4.1我的系統(tǒng)特色:
A、數(shù)據(jù)結(jié)構(gòu)化 ,數(shù)據(jù)之間具有聯(lián)系,面向整個(gè)系統(tǒng)。
B、數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充 。
C、數(shù)據(jù)獨(dú)立性高 。
D、數(shù)據(jù)由DBMS統(tǒng)一管理和控制。

4.2 系統(tǒng)不足及改進(jìn)

在對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)的過(guò)程中,結(jié)構(gòu)比較簡(jiǎn)單,不能夠應(yīng)對(duì)是否能復(fù)雜的情況,只能對(duì)學(xué)生住宿的簡(jiǎn)單信息進(jìn)行操作。另外,在安全性方面做得也不夠完善,主要原因在于設(shè)計(jì)的重點(diǎn)是功能的正常執(zhí)行,而不是在每一個(gè)細(xì)節(jié)做到完美。另外,執(zhí)行虛度方面沒(méi)有做出專門的優(yōu)化。因此,這個(gè)數(shù)據(jù)庫(kù)系統(tǒng)需要我在以后相信的去完成每一個(gè)細(xì)節(jié)。

5.設(shè)計(jì)心得

在設(shè)計(jì)數(shù)據(jù)庫(kù)的過(guò)程中我遇到過(guò)非常多的問(wèn)題:

首先,在設(shè)計(jì)階段有非常多的數(shù)據(jù)項(xiàng),當(dāng)時(shí)覺(jué)得不好分類和處理,而且有很多的數(shù)據(jù)項(xiàng)和許多實(shí)體都有關(guān)系。最后通過(guò)查看課本例題,問(wèn)同學(xué)等方式將各個(gè)數(shù)據(jù)項(xiàng)進(jìn)行歸類,對(duì)于和多個(gè)實(shí)體之間都有關(guān)系的數(shù)據(jù)項(xiàng)可以建立一個(gè)關(guān)系表,從而完成歸類。

接著,在添加數(shù)據(jù)的過(guò)程中,我忽略掉了數(shù)據(jù)的參照完整性,導(dǎo)致許多數(shù)據(jù)不能夠正常加入。后來(lái)經(jīng)過(guò)同學(xué)的提示,我將數(shù)據(jù)進(jìn)行了統(tǒng)一分析,保持所有的數(shù)據(jù)一致,最后數(shù)據(jù)可以正常輸入。

最后,每個(gè)表中的數(shù)據(jù)更改完成之后,更改后的數(shù)據(jù)會(huì)丟失找不到了。對(duì)于這個(gè)問(wèn)題就解決辦法為加入觸發(fā)器,記錄表中信息的修改前的值,成功解決問(wèn)題。

收獲:對(duì)于一個(gè)系統(tǒng),數(shù)據(jù)庫(kù)的設(shè)計(jì)是非常重要的,數(shù)據(jù)庫(kù)設(shè)計(jì)決定了以后數(shù)據(jù)好不好維護(hù)。后期需求好不好展。同時(shí)也決定了系統(tǒng)的性能。一個(gè)壞的數(shù)據(jù)庫(kù)設(shè)計(jì)一個(gè)功能點(diǎn)的改動(dòng)可能會(huì)設(shè)計(jì)多張表的改動(dòng)。一不小心可能就會(huì)引起數(shù)據(jù)的不一致。為了解決這些問(wèn)題。在數(shù)據(jù)庫(kù)設(shè)計(jì)之初就要考慮這些問(wèn)題。減少后期系統(tǒng)維護(hù)量。

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的数据库课程设计——学生宿舍信息管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。