資料庫課程設計--“茶咖啡”銷售管理系統總結,資料庫課程設計總結
為期一周的資料庫課程設計終於完工, 總結一些經驗和教訓。發現基礎的知識還是要時刻記在心中,知識不基礎,何談去開發?因為做什麼東西都首先要一定的目標,計劃,以及做到東西要做到那個程度,這方面一點要先在腦子裡有一個印象,然後才能用所學的知識點去發揮, 因此知識點一點要掌握牢固,自己在設計課程設計的過程中,發現寫好的資料庫語言一點運行,就會出現這個那個的問題。然後從頭去尋找問題的源頭,才發現表的主鍵和外鍵設定出了問題。然後琢磨半天,突然意識到到底是什麼主鍵和外鍵?
兩個的定義和作用到底是什嗎?,這才發現以前上課所學的知識現在非所用,知其然不知其所以然。
鍵:唯一標識表中的所有行的一個列或一組列。
主鍵不允許空值。不能存在具有相同的主鍵值的兩個行,因此主鍵值總是唯一標識單個行。
表中可以有不止一個鍵唯一標識行,每個鍵都稱作候選索引鍵。只有一個候選索引鍵可以選作表的主鍵,所有其它候選索引鍵稱作備用鍵。儘管表不要求具有主鍵,但定義主鍵是很好的做法。
外鍵(FK): 是用於建立和加強兩個表資料之間的連結的一列或多列。通過將儲存表中主鍵值的一列或多列添加到另一個表中,可建立兩個表之間的連結。這個列就成為第二個表的外鍵。
例如:成績表中的學號不能做成績表的主鍵(因為一個學生可以有多行成績資料),但每行的學號和學生表中的學號相對應,並且學生表中的學號是學生表的主鍵,則稱成績表中的學號是學生表的外鍵。(典型的一對多關聯性)
寫SQL語言還出現了這幾種情況:
(1)建立一個新表的時候,把英文括弧寫成了中文,找錯誤找了半小時。
(2)新表第一次錄入資料之後,第二次不能再次錄入,已經造成重複。
(3)沒有注意主鍵不可為空值。
(4)外鍵設定時約束項沒有搞清楚。
通過這次課程設計發現這其中需要的很多知識我們沒有接觸過,上網尋找資料的時候發現我們以前所學到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用於實際,不能很好的用來解決問題,這就需要自己不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。
CREATE TABLE BILL( BILL_num char(10) primary key , BILL_time char(8) NOT NULL, BILL_paymoney char(10) NOT NULL, BILL_summoney char(10) NOT NULL, BILL_goodstype char(10) NOT NULL, BILL_unitprice char (10) NOT NULL, Customers_num char (10), MemberID char (11) ,)CREATE TABLE Member(MemberID char(11) primary key,MemberNAme char(10) NOT NULL,MemberSex char (2) NOT NULL,Memberphone varchar(12) NOT NULL,BILL_num char(10) NOT NULL, constraint MemberSex check(MemberSex='男'or MemberSex='女'),foreign key (BILL_num ) references BILL(BILL_num))CREATE TABLE Customers( Customers_num char (10) primary key , Customers_name char (10) NOT NULL, BILL_num char(10) NOT NULL, foreign key (BILL_num ) references BILL(BILL_num))CREATE TABLE Goods( Goods_num char(4) primary key, Goods_name char (10) , Goods_stock char(10), BILL_num char(10), foreign key (BILL_num ) references BILL(BILL_num))goinsert into BILL(BILL_num, BILL_time,BILL_paymoney ,BILL_summoney, BILL_goodstype ,BILL_unitprice ,MemberID,Customers_num)values('2014010101','20140101','100','50','藍山','30','20140101001','Null')insert into BILL(BILL_num, BILL_time,BILL_paymoney ,BILL_summoney, BILL_goodstype ,BILL_unitprice ,MemberID ,Customers_num)values('2014010102','20140101','100','50','炭燒','35','20140202002','Null')insert into BILL(BILL_num, BILL_time,BILL_paymoney ,BILL_summoney, BILL_goodstype ,BILL_unitprice ,MemberID,Customers_num )values('2014010103','20140101','100','50','美式','40','20140310003','Null')insert into BILL(BILL_num, BILL_time,BILL_paymoney ,BILL_summoney, BILL_goodstype ,BILL_unitprice ,MemberID ,Customers_num)values('2014010104','20140101','100','50','拿鐵','45','20140404004','Null')insert into BILL(BILL_num, BILL_time,BILL_paymoney ,BILL_summoney, BILL_goodstype ,BILL_unitprice ,MemberID ,Customers_num)values('2014010105','20140101','100','50','摩卡','50','20141001005','Null')insert into BILL(BILL_num, BILL_time,BILL_paymoney ,BILL_summoney, BILL_goodstype ,BILL_unitprice ,MemberID, Customers_num)values('2014010106','20140101','100','50','卡布奇諾','55','20141101006','Null')insert into BILL(BILL_num, BILL_time,BILL_paymoney ,BILL_summoney, BILL_goodstype ,BILL_unitprice ,MemberID, Customers_num)values('2013010101','20140101','100','50','卡布奇諾','55','Null','2014110106')insert into BILL(BILL_num, BILL_time,BILL_paymoney ,BILL_summoney, BILL_goodstype ,BILL_unitprice ,MemberID, Customers_num)values('2013010102','20140101','100','50','卡布奇諾','55','Null','2014110106')insert into Member(MemberID,MemberNAme,MemberSex,Memberphone,BILL_num) values ('20140101001','李一','男','15832578651','2014010101')insert into Member(MemberID,MemberNAme,MemberSex,Memberphone,BILL_num) values ('20140202002','李二','女','15832578652','2014010102')insert into Member(MemberID,MemberNAme,MemberSex,Memberphone,BILL_num) values ('20140310003','李三','男','15832578653','2014010103')insert into Member(MemberID,MemberNAme,MemberSex,Memberphone,BILL_num) values ('20140404004','李四','女','15832578654','2014010104')insert into Member(MemberID,MemberNAme,MemberSex,Memberphone,BILL_num) values ('20141001005','李五','男','15832578655','2014010105')insert into Member(MemberID,MemberNAme,MemberSex,Memberphone,BILL_num)values ('20141101006','李六','女','15832578656','2014010106')insert into Goods(Goods_num ,Goods_name ,Goods_stock ,BILL_num )values('1','藍山','10','2014010101') insert into Goods(Goods_num ,Goods_name ,Goods_stock ,BILL_num )values('2','炭燒','10','2014010102')insert into Goods(Goods_num ,Goods_name ,Goods_stock ,BILL_num )values('3','美式','10','2014010103')insert into Goods(Goods_num ,Goods_name ,Goods_stock ,BILL_num )values('4','拿鐵','10','2014010104')insert into Goods(Goods_num ,Goods_name ,Goods_stock ,BILL_num )values('5','摩卡','10','2014010105')insert into Goods(Goods_num ,Goods_name ,Goods_stock ,BILL_num )values('6','卡布奇諾','10','2014010106')insert into Customers( Customers_num,Customers_name,BILL_num )values ('01','王一','2013010101')insert into Customers( Customers_num,Customers_name,BILL_num )values ('02','王二','2013010102')
實驗結果:會員資訊:
商品資訊:
顧客資訊:
賬單資訊: