为期一周的数据库课程设计终于完工, 总结一些经验和教训。发现基础的知识还是要时刻记在心中,知识不基础,何谈去开发?因为做什么东西都首先要一定的目标,计划,以及做到东西要做到那个程度,这方面一点要先在脑子里有一个印象,然后才能用所学的知识点去发挥, 因此知识点一点要掌握牢固,自己在设计课程设计的过程中,发现写好的数据库语言一点运行,就会出现这个那个的问题。然后从头去寻找问题的源头,才发现表的主键和外键设置出了问题。然后琢磨半天,突然意识到到底是什么主键和外键?
两个的定义和作用到底是什么?,这才发现以前上课所学的知识现在非所用,知其然不知其所以然。
键:唯一标识表中的所有行的一个列或一组列。
主键不允许空值。不能存在具有相同的主键值的两个行,因此主键值总是唯一标识单个行。
表中可以有不止一个键唯一标识行,每个键都称作候选键。只有一个候选键可以选作表的主键,所有其它候选键称作备用键。尽管表不要求具有主键,但定义主键是很好的做法。
外键(FK): 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
例如:成绩表中的学号不能做成绩表的主键(因为一个学生可以有多行成绩数据),但每行的学号和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键。(典型的一对多关系)
(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) ) go insert 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')实验结果:会员信息:
商品信息:
顾客信息:
账单信息:
原文地址:http://blog.csdn.net/u013050857/article/details/42151015