停车场数据库管理系统姓名:学号:专业:11.需求分析1.1背景现在随着社会的发展,车为了人们出行的必备工具,因为它快捷方便,但在行程中快捷方便的同时,到哪停车成为了人们头疼的事。停车场因此存在了,但有的停车场比较大,车位比较多,管理起来较麻烦,这就需要有计算机的辅助。同时随着计算机的发展,计算机数据库可以很好的帮助人们去管理,管理员的工作变的更加简单程序化,且失误减少,效率变高,停车会更加方便。1.2停车场数据库实现的功能1.输入及添加停车位、停车位资料,每个停车位信息包括:停车位编号、停车位地址、停车位类别编号、登记日期、是否被占用。停车证信息包括:客户停车证编号、客户姓名、客户性别、客户种类、登记时间。2.对已存入的停车位、停车证信息进行插入添加。3.对已存入的信息进行修改。4.利用停车证对停车进行租借和退还停车位。5.利用租借停车位时间向客户收费。1.3关系模式信息停车位类别种类编号,种类名称客户停车证编号,客户姓名,客户性别,客户种类,登记时期停车位停车位编号,停车位地址,停车位类别编号,登记日期,是否被占用租借停车证编号,停车位编号,客户租借时间退还停车证编号,客户姓名,停车证编号,停车位编号,客户退还时间付款停车证编号,客户姓名,停车位类别编号,停车位地址,客户租借时间,付款金额22.方案图表设计2.1E-R图根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分为:停车位类别信息、客户信息实体、停车位信息、租借记录信息,退还记录信息。用E-R图一一描述这些实体。2.1.1类别E-R图:图2-1类别E-R图2.1.2客户信息E-R图:图2-2客户信息E-R图2.1.3信息实体E-R图:停车位类别停车位类别编号类别名称客户信息客户停车证编号客户姓名客户性别客户种类登记时间3图2-3停车位信息E-R图2.1.4.记录信息E-R图:图2-4记录信息E-R图2.1.5记录信息E-R图:图2-5记录信息E-R图退还记录信息客户停车证编号停车位编号客户退还时间租借记录信息停车证编号停车位编号客户租借时间停车位信息停车位编号停车位地址停车位类别编号登记时间是否被占用42.1.6付款信息E-R图:图2-6付款信息E-R图2.1.6总的信息实体E-R图:图2-7总的信息E-R图付款信息客户停车证编号客户姓名停车位类别编号停车位地址租借时间付款金额停车位信息客户信息付款信息停车位类别租借信息退还信息退还租借信息登记付款52.2建立表格表2-1parking_sytle停车位类别信息表表中列名数据类型可否为空说明parkingstylenovarcharnotnull(主键)种类编号parkingstyleVarcharnotnull种类名称表2-2system_customers客户信息表格表中列名数据类型可否为空说明customeridvarcharnotnull(主键)客户停车证编号customernamevarcharnotnull客户姓名customersexvarcharnotnull客户性别customertypevarcharnull客户种类regdatedatetimenull登记日期表2-3system_parking停车位信息表表中列名数据类型可否为空说明parkingidVarcharNotnull(主键)停车位编号parkingaddressVarcharNotnull停车位地址parkingstylenoVarcharNotnull停车位类别编号parkingindateDatetimeNull登记日期isborrowedVarcharNotNull是否被占用表2-4borrow_record租借记录信息表表中列名数据类型可否为空说明customeridVarcharNotnull(外主键)停车证编号parkingidVarcharNotnull(外主键)停车位编号borrowdateVarcharNotnull客户租借时间表2-5return_record退还记录信息表表中列名数据类型可否为空说明customeridVarcharNotnull(外主键)客户停车证编号parkingidVarcharNotnull(外主键)停车位编号returndatedatetimeNotnull客户退还时间表2-6customer_fee付款记录信息表customeridvarcharNotnull客户停车证编号customernamevarcharNotnull客户姓名parkingidvarcharNotnull(外主键)停车位编号parkingaddressvarcharNotnull停车位地址parkingfeevarcharNotNull付款金额borrowdatedatetimeNotNull租借时间63.数据库语言设计3.1数据库的建立3.1.1创建数据库3.1.2停车位类别表建立createtableparking_style(parkingstylenovarchar(30)primarykey,parkingstylevarchar(30))3.1.3创建停车位信息表createtablesystem_parking(parkingidvarchar(20)primarykey,parkingaddressvarchar(30)Notnull,parkingstylenovarchar(30)Notnull,parkingindatedatetime,isborrowedvarchar(2),)3.1.4停车证表建立createtablesystem_customers(customeridvarchar(9)primarykey,customernamevarchar(9)notnull,customersexvarchar(2)notnull,customertypevarchar(10),regdatedatetime)3.1.5租借记录表建立createtableborrow_record(parkingidvarchar(20)primarykey,customeridvarchar(9),borrowdatedatetime,)3.1.6退还记录表建立createtablereturn_record(parkingidvarchar(20)primarykey,customeridvarchar(9),returndatedatetime,)3.1.7付款单表建立createtablecustomer_fee(customeridvarchar(9)notnull,customernamevarchar(9)notnull,parkingidvarchar(20)primarykey,7parkingaddressvarchar(30)Notnull,parkingfeevarchar(30),borrowdatedatetime,)3.2数据初始化3.2.1将停车位类别加入表parking_style中insertintoparking_style(parkingstyleno,parkingstyle)values('1','小型商务车')insertintoparking_style(parkingstyleno,parkingstyle)values('2','中等型轿车')insertintoparking_style(parkingstyleno,parkingstyle)values('3','大型客车')3.2.2将已有的停车位加入system_parking表中insertintosystem_parking(parkingid,parkingadress,parkingstyleno,parkingindate,isborrowed)values('1234','A区34位','1','2009-01-03','2011-11-15','1');insertintosystem_parking(parkingid,parkingadress,parkingstyleno,parkingindate,isborrowed)values(1235','A区35位','1','2009-01-03','2011-11-16','1');nsertintosystem_parking(parkingid,parkingadress,parkingstyleno,parkingindate,isborrowed)values('1236','A区36位','1','2009-01-03','2011-11-15','1');3.2.3将客户信息加入system_customers表中insertintosystem_customers(customerid,customername,customersex,customertype,regdate)values('2009302650080','张三','男','常住','2009-08-2614:23:56')insertintosystem_customers(customerid,customername,customersex,customertype,regdate)values('2009302650081','李四','男','临时','2009-08-2713:24:54.623')insertintosystem_customers(customerid,customername,customersex,customertype,regdate)values('2009302650082','王二麻','男','常住','2009-08-2811:24:54.123')3.2.4添加租借客户的记录insertintoborrow_record(parkingid,customerid,borrowdate)values('1234','2009302650080','2011-11-1511:24:54.123')insertintoborrow_record(parkingid,customerid,borrowdate)values('1235','2009302650081','2011-11-1608:26:51.452')insertintoborrow_record(parkingid,customerid,borrowdate)values('1236','2009302650082','2011-11-1508:26:51.452')84.进行总体设计将上述做好的表格进行联系,建立关系,在access2007上用软件创建联系,如下图:5.课程设计心得这是我第一次接触数据库软件进行数据库设计,上课时有很多地方听的不是很明白,但上完老师的课程,感觉自己还是很有收获的。通过对这数据库的设计,我对数据库的设计流程进行了深一步的了解,知道了数据库设计到底如何进行,并开始简单的学习了一下数据库设计的软件,像SQLSeveral2008和access2007,虽然不是很熟练,但已经可以进行简单的处理了。使用这些软件的过程中我感到,熟悉这些工具软件,对于编写数据库来说是很重要的,熟练的运用软件可以提高工作的效率。在编写数据库语言的时候,有些小的地方非常需要注意,一个标点的错误都会让编好的程序运行不了,就生成不了表格,所以编程时要养成良好的习惯,多多注意,仔细点才行。尽量减少出现错误,这样才不至于花大量的时间去检查错误。在数据库的设计过程中出现了很多问题,由于自己能力有限,无法单独完成,询问了班级里会做的同学求指点,在同学难心的知道下,经过修修改改几回才将这个数据库设计完成。第一次设计难免会出现很多问题,碰到很多挫折,但每一次的艰难都是在为自己积累经验,善于总结,也是学习能力的一种体现,每次的总结,总能找到自己的不足,这样才能对数据库的设计了解更深,才能逐步