特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學(xué)習(xí)啦>論文大全>學(xué)科論文>計算機(jī)論文>

計算機(jī)專業(yè)課程論文范文

時間: 堅烘964 分享

  在計算機(jī)日益普及的今天,對個人而言若采用一套行之有效的餐飲管理系統(tǒng)來管理自己的酒店,會方便許多。下面是學(xué)習(xí)啦小編給大家推薦的計算機(jī)專業(yè)課程論文范文,希望大家喜歡!

  計算機(jī)專業(yè)課程論文范文篇一

  《餐飲管理系統(tǒng)中數(shù)據(jù)完整性的設(shè)計》

  摘 要:以餐飲管理系統(tǒng)數(shù)據(jù)庫中部分表為例,詳細(xì)介紹個人對數(shù)據(jù)完整性設(shè)計思路和設(shè)計方法,通過實例闡述數(shù)據(jù)完整性在實踐中的應(yīng)用,并給出基于SQLSERVERDE語言的描述。

  關(guān)鍵詞:數(shù)據(jù)庫;數(shù)據(jù)完整性;約束;觸發(fā)器

  數(shù)據(jù)庫的創(chuàng)建是一件非常容易的事情,但是設(shè)計一個嚴(yán)謹(jǐn)、安全、可靠的數(shù)據(jù)庫就不那么容易了,它需要你有扎實的理論知識做基礎(chǔ),還需要具備一定的分析問題解決問題的能力。數(shù)據(jù)庫的設(shè)計經(jīng)過需求分析、數(shù)據(jù)庫概念機(jī)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計之后我們就應(yīng)考慮數(shù)據(jù)完整性的設(shè)計了。數(shù)據(jù)完整性是最大限度的保證數(shù)據(jù)的正確性、可靠性、一致性。數(shù)據(jù)完整性包含三個方面的內(nèi)容即實體完整性、參照完整性(引用完整性)和用戶自定義完整性(域完整性)。

  下面以餐飲管理系統(tǒng)部分可以實現(xiàn)點菜和結(jié)賬的表為例闡述以上完整性的設(shè)計。餐飲管理涉及的表的關(guān)系模式為:桌臺表zt(桌號zh,桌名zm,容納人數(shù)rnrs,狀態(tài)zt,類型lx),菜單表cd(菜品編號cpbh,菜品名稱cpmc,規(guī)格gg,類別lb,單價dj,成本價cbj),訂單表dd(訂單編號ddbh,訂單日期ddrq,桌號zh,消費金額xfje),點菜表dc(訂單編號ddbh,菜品編號cpbh,數(shù)量sl)。以上四個表的定義如下:

  Create table zt (zh char(4) primary key ,zm char(8) unique, rnrs int check (rnrs>=0),zt bit,lx char(8) check (lx='大廳' or lx='包廂' lx='vip'))

  Create table cd(cpbh char(5) primary key, cpmc char(12),gg char(10),lb char(8),dj numeric(6,1) check(dj>=0),cbj numeric(6,1) check(cbj>=0))

  Create table dd (ddbh char(10) primary key,ddrq datetime,zh char(4) foreign key references zt(zh), xfje numeric(10,1))

  Create table dc (ddbh char(10) foreign key references dd(ddbh),cpbh char(5) foreign key references cd(cpbh),sl int check(sl>=0) default 1,primary key(ddbh,cpbh))

  1 實體完整性(表完整性)

  實體完整性又叫做表完整性,是對表中主鍵的約束。實體完整性的規(guī)則要求:在任何關(guān)系的任何一個元組中,主鍵的值不能為空值、也不能取重復(fù)的值。建立實體完整性的目的是用于保證數(shù)據(jù)庫表中的每一個元組都是惟一的。是否可以改變主鍵值或刪除一整行,取決于主鍵和其他表之間要求的完整性級別。實體完整性的定義比較簡單。實現(xiàn)“實體完整性”的方法有primary key約束、unique約束、標(biāo)識列、惟一索引。在此對桌臺表zt中的桌號zh、菜單表cd表中的菜品編號cpbh以及訂單表dd中的訂單編號ddbh定義了primary key約束。在定義的時候一定要注意,一張完整的表定義只能有一個主鍵(PRIMARY KEY),但是可以沒有UNIQUE約束。

  2 參照完整性規(guī)則(引用完整性規(guī)則)

  現(xiàn)實世界中的實體之間存在某種聯(lián)系。在關(guān)系模型中實體及實體間的聯(lián)系都是用關(guān)系來描述的,這樣就自然存在著關(guān)系與關(guān)系間的引用。通過在同一個數(shù)據(jù)庫的兩個表中進(jìn)行主鍵約束和外鍵約束來實現(xiàn),參照的列和被參照的列的必須具有相同的屬性。

  參照完整性規(guī)則規(guī)則要求:“不引用不存在的實體”。即:不允許在一個關(guān)系中引用另一個關(guān)系中不存在的元組。其目的用于確保相關(guān)聯(lián)的表間的數(shù)據(jù)保持一致。參照完整性是對外鍵的約束,要求外鍵的取值只能為兩種情況:若取非空值,則它必須是主表中存在的值。要么取空值(null)。設(shè)置了參照完整性禁止在從表中插入包含主表中不存在的關(guān)鍵字的數(shù)據(jù)行;禁止刪除在從表中的有對應(yīng)記錄的主表記錄。

  在如上四個表中對訂單表dd的桌號zh、點菜表對此dc的訂單編號ddbh及菜品編號cpbh分別設(shè)置了外鍵。另外外鍵的設(shè)計也可由觸發(fā)器或編程語言來設(shè)定。以訂單表dd為例觸發(fā)器設(shè)置方法如下:

  CREATE TRIGGER insert_xs ON dd

  AFTER INSERT

  AS

  IF EXISTS

  (SELECT * FROM INSERTED

  WHERE zh IN (SELECT zh FROM zt))

  PRINT '添加成功!’

  ELSE

  BEGIN

  PRINT '桌號與存在的桌號不符!’

  ROLLBACK TRANSACTION

  END

  同樣可以對點菜表設(shè)置一個觸發(fā)器要求dc的訂單編號ddbh及菜品編號cpbh也具有參照性。參照完整性是用來維護(hù)相關(guān)數(shù)據(jù)表之間數(shù)據(jù)一致性的手段,通過實現(xiàn)引用完整性,可以避免因一個數(shù)據(jù)表的記錄改變而使另一個數(shù)據(jù)表內(nèi)的數(shù)據(jù)變成無效的值。

  3 域完整性

  域完整性也稱為列完整性或用戶定義的完整性,用于限制用戶向列中輸入的內(nèi)容。域完整性規(guī)則要求由用戶根據(jù)實際情況,定義表中屬性的取值范圍。其目的用于保證給定字段中數(shù)據(jù)的有效性,即保證數(shù)據(jù)的取值在有效的范圍內(nèi)。

  設(shè)置域完整性的方法是限制列的數(shù)據(jù)類型、精度、范圍、格式和長度等??梢酝ㄟ^指定數(shù)據(jù)類型、CHECK約束、DEFAULT約束、NOT NULL約束和創(chuàng)建規(guī)則、默認(rèn)值等數(shù)據(jù)庫對象來實施。

  數(shù)據(jù)庫中存儲的數(shù)據(jù)多種多樣,為每一列指定一個準(zhǔn)確的數(shù)據(jù)類型是設(shè)計表的第一步,列的數(shù)據(jù)類型規(guī)定了列上允許的數(shù)據(jù)值。當(dāng)添加或修改數(shù)據(jù)時,其類型必須要符合建表時所指定的數(shù)據(jù)類型。這種方式為數(shù)據(jù)庫中的數(shù)據(jù)完整性提供了最基本的保障。

  約束是SQL Server提供的自動保持?jǐn)?shù)據(jù)完整性的一種方法,是獨立于表結(jié)構(gòu)的。規(guī)則是實現(xiàn)域完整性的方法之一,用來驗證一個數(shù)據(jù)庫中的數(shù)據(jù)是否處于一個指定的值域范圍內(nèi),是否與特定的格式相匹配。當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)值被更新或插入時,就要檢查新值是否遵循規(guī)則。如果不符合規(guī)則就拒絕執(zhí)行更新或插入操作。

  在餐飲系統(tǒng)相關(guān)表中我們對相應(yīng)的列設(shè)置了數(shù)據(jù)類型及長度度限制,并對菜單表cd的單價dj設(shè)置了check(dj>=0)的約束,對點菜表dc的數(shù)量sl列(sl int check(sl>=0) default 1)設(shè)置了check約束和默認(rèn)值的約束。當(dāng)然對于以上約束我們都可通過定義規(guī)則的方法實現(xiàn)。如:

  用create rule dyl as@x>=0來定義一個大于零的約束,然后用sp_bindrule dyl,'cd.dj‘語句和sp_bindrule dyl,'dc.sl'語句將其綁定到菜單表cd的單價dj列及點菜表dc的數(shù)量sl列上。

  對于菜品編號cpbh我們規(guī)定菜類必須以類別的代表字母作為第一個字符,小分類的代表字母為第二個字符后面跟3位數(shù)字來表示。如CL001表示青菜類、LN001可表示奶類飲料。

  為了實現(xiàn)上述編碼我們用規(guī)則來實現(xiàn)如下:

  Create rule cpbm as

  @BM like 'C[LQRT][0-9][0-9][0-9]'

  Or @BM like 'J[PBNM][0-9][0-9][0-9]'

  Or @BM like 'Y[CNGT][0-9][0-9][0-9]'

  Or @BM like 'z[fm][0-9][0-9][0-9]'

  sp_bindrule cpbm, 'cd.cpbh'

  4 觸發(fā)器實現(xiàn)數(shù)據(jù)完整性

  當(dāng)用戶對數(shù)據(jù)的完整性要求更為特殊,更為復(fù)雜,以上3種完整性就無法滿足用戶的要求。在這種情況下,用戶需要自己定義所需的完整性。實現(xiàn)自定義完整性的重要方法是創(chuàng)建觸發(fā)器。觸發(fā)器是一種數(shù)據(jù)庫對象。是一種表或視圖執(zhí)行insert、delete、update操作時,被系統(tǒng)自動執(zhí)行的特殊的存儲過程。創(chuàng)建觸發(fā)器的目的是對表實現(xiàn)復(fù)雜的數(shù)據(jù)完整性約束,以防止不正確的操作。它與數(shù)據(jù)庫中的某個表的數(shù)據(jù)修改操作相關(guān)聯(lián),修改操作可以是INSERT、UPDATE、和DELETE這3種操作中其中一種或幾種。當(dāng)用戶對相關(guān)表執(zhí)行觸發(fā)器相關(guān)的修改操作時觸發(fā)器自動執(zhí)行。常用于數(shù)據(jù)的參照完整性限制及級聯(lián)刪除、級聯(lián)更新等操作的設(shè)置。以級聯(lián)更新為例,分析當(dāng)菜單表中的菜品編號修改時,點菜表中的菜品編號同時更新這樣的操作用觸發(fā)器如何實現(xiàn):

  create trigger upd on cd after update

  as

  declare @jbh char(5),@xbh char(5)

  select @jbh=deleted.cpbh, @xbh= inserted.cpbh

  from deleted,inserted where deleted.cpbh=inserted.cpbh

  print '準(zhǔn)備級聯(lián)更新點菜表中的菜品編號信息….'

  update dc set cpbh=@xbh where cpbh=@jbh

  print '已經(jīng)級聯(lián)更新了點菜表原菜品編號為'+ @jbh +'的信息'

  5 應(yīng)用接口編程

  應(yīng)用接口編程對數(shù)據(jù)庫應(yīng)用設(shè)計來說是負(fù)擔(dān)最重的方法,但同時又是最基本、最靈活的方法。不論數(shù)據(jù)庫管理系統(tǒng)提供了多么豐富的完整性的約束手段,利用編程接口保證數(shù)據(jù)完整性仍是所有數(shù)據(jù)庫應(yīng)用設(shè)計者必須掌握的關(guān)鍵技術(shù)之一。

  6 總結(jié)

  保證數(shù)據(jù)庫的數(shù)據(jù)完整性,在數(shù)據(jù)庫管理系統(tǒng)中是十分重要的。合理地使用SQL Server為數(shù)據(jù)完整性提供的各項措施,對數(shù)據(jù)進(jìn)行所需的約束限制,可以有效降低數(shù)據(jù)庫在使用過程中可能出現(xiàn)的錯誤,提高數(shù)據(jù)庫系統(tǒng)的可用性,減少處理數(shù)據(jù)錯誤所耗的費用。

  參考文獻(xiàn):

  [1]陳偉,Sql Server2005應(yīng)用系統(tǒng)開發(fā)教程[M].北京:清華大學(xué)出版社.

  [2]Andrew J.Brust Stephen Forte著,精通SQLServer 2005程序設(shè)計,賈洪峰譯,清華大學(xué)出版社,2007.

  [3]薩師煊、王珊,數(shù)據(jù)庫系統(tǒng)概論(第三版)[M].北京:高等教育出版社,2004.

  作者簡介:

  白楊(1978-),女,蒙古族,河北省香河縣人,學(xué)位碩士,講師,研究方向:數(shù)據(jù)庫。

點擊下頁還有更多>>>計算機(jī)專業(yè)課程論文范文

2816331