数据库实验6数据库系统设计

合集下载

数据库系统概论实验

数据库系统概论实验

数据库系统概论实验数据库系统概论是计算机科学与技术专业的一门重要课程,其实验环节是帮助学生巩固理论知识、掌握数据库系统的基本操作和设计方法的关键环节。

本文将从实验的目的、实验环境与工具、实验内容以及实验过程中可能遇到的问题等方面进行详细介绍。

一、实验目的数据库系统概论实验的主要目的是通过实践操作,帮助学生理解和掌握数据库系统的基本概念、基本操作和基本设计方法,培养学生对数据库系统的使用和开发能力。

二、实验环境与工具数据库系统概论实验通常在计算机实验室进行,学生可以使用计算机实验室提供的数据库管理系统软件进行实验操作。

常见的数据库管理系统软件有Oracle、MySQL、SQL Server等,根据实验的要求和实验室条件,确定使用哪种数据库管理系统进行实验。

三、实验内容数据库系统概论实验的内容通常包括以下几个方面:1. 数据库的创建与删除:学生需要学会使用SQL语句创建数据库,并了解数据库的基本属性和结构;同时,学生还需要学会使用SQL 语句删除数据库。

2. 表的创建与删除:学生需要学会使用SQL语句创建表,并定义表的属性、类型和约束条件;同时,学生还需要学会使用SQL语句删除表。

3. 数据的插入与查询:学生需要学会使用SQL语句向表中插入数据,并学会使用SQL语句查询表中的数据。

4. 数据的更新与删除:学生需要学会使用SQL语句更新表中的数据,并学会使用SQL语句删除表中的数据。

5. 数据库的备份与恢复:学生需要学会使用数据库管理系统提供的备份和恢复工具,实现数据库的备份和恢复操作。

四、实验过程中可能遇到的问题在实验过程中,学生可能会遇到以下几个常见问题:1. 数据库连接问题:学生需要确保数据库连接的正确性,包括数据库的URL、用户名和密码等信息。

2. SQL语句错误:学生在编写SQL语句时可能会出现语法错误或逻辑错误,需要仔细检查和调试SQL语句。

3. 数据库权限问题:学生在进行数据库操作时可能会遇到权限不足的问题,需要联系管理员进行权限的调整。

数据库系统原理实验报告

数据库系统原理实验报告

数据库系统原理实验报告一、实验目的1.熟悉数据库系统的基本概念和原理;2.掌握数据库系统的基本操作;3.学会使用数据库系统进行数据管理和查询。

二、实验设备1.计算机;2.数据库管理系统软件。

三、实验过程1.创建数据库通过数据库管理系统软件,我们首先需要创建一个新的数据库。

在数据库管理系统软件的界面上,点击“新建数据库”按钮,输入数据库名称、用户名、密码等信息,并确定创建。

2.设计数据表在创建完数据库后,我们需要设计数据表结构。

点击数据库管理系统软件界面上的“表设计”按钮,弹出数据表设计界面。

根据实验需求,在数据表设计界面上添加字段、设置字段类型、设置主键等,最后确定设计。

3.插入数据数据表设计好后,我们需要将数据插入到数据表中。

通过数据库管理系统软件,点击“插入数据”按钮,弹出插入数据界面。

在插入数据界面上,输入要插入的数据信息,点击确定插入。

4.查询数据将数据插入到数据表中后,我们需要查询特定的数据。

通过数据库管理系统软件,点击“查询数据”按钮,弹出查询数据界面。

在查询数据界面上,输入查询条件,点击确定查询。

系统将会返回符合条件的数据。

五、实验结果通过以上实验步骤,我们成功地创建了一个新的数据库,设计了数据表结构,并将数据插入到数据库中。

同时,我们还可以通过数据库管理系统软件查询数据并获取到结果。

这些实验结果表明我们对数据库系统的基本操作具有熟练掌握的能力。

六、实验总结通过本次实验,我们深入了解了数据库系统的基本概念和原理,掌握了数据库系统的基本操作方法,并成功地应用到实际数据管理和查询中。

通过实验,我们意识到数据库系统在现代信息管理中的重要性,并且清楚地了解到数据库系统的优势和应用场景。

通过进一步的学习和实践,我们相信我们可以更加熟练地应用数据库系统,并将其应用到实际工作中。

数据库系统实验课实验报告

数据库系统实验课实验报告

数据库系统实验课实验报告一、实验目的数据库系统实验课是一门重要的实践课程,旨在通过实际操作和实验,深入理解数据库系统的原理和应用,提高我们的数据库设计、管理和应用开发能力。

本次实验的具体目的包括:1、熟悉数据库管理系统(DBMS)的操作环境和基本命令。

2、掌握数据库的创建、表的设计、数据的插入、查询、更新和删除等基本操作。

3、学会使用 SQL 语句进行复杂的数据查询和数据处理。

4、理解数据库的完整性约束、索引和存储过程的概念及应用。

5、培养解决实际数据库问题的能力和团队协作精神。

二、实验环境本次实验使用的数据库管理系统是 MySQL 80,实验在 Windows 10 操作系统上进行。

使用的开发工具包括 MySQL Workbench 和命令行终端。

三、实验内容1、数据库的创建使用 CREATE DATABASE 语句创建了一个名为“student_management”的数据库,用于存储学生管理相关的数据。

2、表的设计在“student_management”数据库中,设计了以下几张表:“students”表,包含学生的学号(student_id)、姓名(student_name)、性别(gender)、年龄(age)等字段。

“courses”表,包含课程的课程号(course_id)、课程名称(course_name)、学分(credit)等字段。

“enrolls”表,用于记录学生选课的信息,包含学号(student_id)、课程号(course_id)、成绩(grade)等字段。

在设计表时,为每个字段选择了合适的数据类型,并设置了主键和外键约束,以保证数据的完整性和一致性。

3、数据的插入使用 INSERT INTO 语句向“students”、“courses”和“enrolls”表中插入了一些示例数据,以便进行后续的查询和操作。

4、数据的查询使用简单的 SELECT 语句查询了“students”表中的所有学生信息。

数据库原理及应用实验教案

数据库原理及应用实验教案

数据库原理及应用实验教案一、实验目的1. 理解数据库的基本概念,掌握数据库的基本操作。

2. 熟悉数据库管理系统,了解数据库设计原则。

3. 学会使用SQL语言进行数据的增、删、改、查等操作。

4. 掌握数据库的索引、视图和存储过程等高级功能。

5. 培养实际操作数据库的能力,提高解决实际问题的技能。

二、实验内容1. 数据库的创建与管理创建新数据库打开现有数据库数据库的备份与恢复2. 表的创建与管理表的创建表结构的修改表的删除表的数据插入、删除和修改3. SQL语言基础数据定义语句(CREATE、ALTER、DROP)数据查询语句(SELECT)数据操纵语句(INSERT、UPDATE、DELETE)数据控制语句(GRANT、REVOKE)4. 索引与约束索引的创建、修改和删除主键、外键的设置与维护唯一约束和检查约束的设置5. 视图与存储过程视图的创建、修改和删除存储过程的创建、修改和删除存储过程的调用三、实验环境1. 硬件环境:计算机实验室,每台计算机配备数据库管理系统软件。

2. 软件环境:数据库管理系统软件(如MySQL、Oracle、SQL Server 等),编程语言环境(如Python、Java等),文本编辑器或集成开发环境(如Visual Studio Code、Eclipse等)。

四、实验步骤1. 实验准备:安装并配置数据库管理系统软件,了解实验内容和要求。

2. 实验一:数据库的创建与管理创建一个名为“实验数据库”的新数据库。

打开已存在的数据库,进行备份和恢复操作。

3. 实验二:表的创建与管理创建一个名为“学生”的表,包括学号、姓名、年龄、性别等字段。

插入、删除和修改表中的数据。

4. 实验三:SQL语言基础使用SELECT语句查询学生表中的数据。

使用INSERT、UPDATE和DELETE语句操作学生表数据。

5. 实验四:索引与约束为学生表的学号字段创建索引。

设置主键、外键、唯一约束和检查约束。

数据库原理综合实验报告

数据库原理综合实验报告

实验六数据库原理综合实验1实验目的(1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。

以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。

(2)对前面章节所学的知识加以综合应用。

2实验内容给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。

(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。

完成下面的工作2.1 数据库概念模型设计(1)进行需求分析。

-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法)(2)识别系统中的实体及实体的属性,分析实体之间的联系。

(3)设计数据库概念模型,画出E-R图。

2.2 数据库逻辑模型设计(1)根据数据库概念模型设计数据库的逻辑模型。

-将E-R模型转化到逻辑模型(2)根据应用需要和规范化理论对逻辑模型进行优化。

2.3 数据库物理模型设计(1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。

(2)优化物理模型(3)生成某种DBMS的SQL语句,创建数据库及其表。

2.4 装载数据(1)收集真实数据或者生成模拟数据。

(2)批量加载数据到数据库中。

(3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,以测试数据库性能。

3实验要求(1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。

(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。

(3)要设计良好的数据库完整性约束。

(4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点?4实验步骤4.1 数据库概念模型设计(1)进行需求分析。

学生需要有学号、姓名、性别、年龄、专业等信息。

选课需要有学号、课号、成绩等信息课程需要有课程号、课程名、先修课、学分等信息(2)设计数据库概念模型,画出E-R图。

数据库系统概论(王珊第五版)实验6答案

数据库系统概论(王珊第五版)实验6答案

实验6答案1.查询名字中第2个字为‘向’的学生姓名和学号及选修的课程号、课程名;select a.sname,a.sno,o,ame from student a,course b,sc cWhere a.sname like'_向%' and a.sno=c.sno and o=o2.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;Select a.sno,sname,sdept,o,grade from student a,course b,sc c Where ame in('数学','大学英语')and a.sno=c.sno and o=o3.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;Select * from studentWhere sage<>(select sage from student where sname='张力')4.按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。

其中已修学分为考试已经及格的课程学分之和;Select a.sno,sname,sdept,sum(ccredit) as 已修学分from student a,course b,sc cWhere grade>60 and a.sno=c.sno and o=oGroup by a.sno,sname,sdept5.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;Select a.sno,a.sname,o from student a,sc cWhere Cno in(select Cno from sc where sno in(select sno from student where sname='张力'))and a.sno=c.sno6.查询只被一名学生选修的课程的课程号、课程名;Select cno,cname from courseWhere cno in(select cno from sc group by cno having COUNT(*)=1)7.使用嵌套查询出选修了“数据结构”课程的学生学号和姓名;Select sno,sname from studentWhere sno in(select sno from sc where Cno=(select Cno from course where cname='数据结构'))8.使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和院系;Select sname,sage,sdept from studentWhere sage<any(select sage from student where sdept='cs')And sdept<>'cs'9.使用ANY、ALL 查询,列出其他院系中比WM系所有学生年龄小的学生的姓名;Select sname from studentWhere sage<all(select sage from student where sdept='wm') And sdept<>'wm'10.分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息;Select b.*from student a,student bwhere a.sname='张力' and a.sdept=b.sdept或SELECT * FROM StudentWHERE Sdept IN(SELECT Sdept FROM Student WHERE sname='张力')11.使用集合查询列出CS系的学生以及性别为女的学生学号及姓名;SELECT sno,sname from studentWhere sdept='cs'unionselect sno,sname from studentwhere ssex='女'12.使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集;SELECT *FROM StudentWHERE Sdept='CS'EXCEPTSELECT *FROM StudentWHERE Sage<=19SELECT *FROM StudentWHERE Sdept='CS'INTERSECTSELECT *FROM StudentWHERE Sage<=19。

数据库系统实验

数据库系统实验

梁文娟目录实验1 用E-R图设计数据库 (3)实验2 熟悉SQL Server 2000环境 (4)实验3 创建数据库及表 (19)实验4 数据查询 (34)实验5 视图的定义和操作 (36)实验6 实现数据完整性 (38)实验7 实现数据库安全管理 (41)实验8 实现触发器 (45)实验9 数据库备份与恢复 (47)实验10 数据库设计综合应用 (48)实验1 用E-R图设计数据库实验目的与要求:1.掌握E-R模型的基本概念和图形的表示方法。

2.掌握将现实世界的事物转化成E-R图的基本技巧3.熟悉关系数据模型的基本概念。

4.掌握E-R图转化成关系表的基本方法实验环境:1.Windows 2000/XP2.SQL Server 2000实验内容:1.根据需求确定实体、属性和联系。

2.将实体、属性和联系转化为E-R图。

3.将E-R图转化为表。

实验步骤:1.设计能够表示学生、课程关系的数据库。

1)确定学生、课程实体的属性。

2)确定学生、课程实体的联系以及联系类型。

3)画出学生、课程关系的E-R图。

2.设计能够表示商品、顾客和商品生产厂家关系的数据库。

1)确定商品、顾客和商品生产厂家实体的属性。

2)确定商品、顾客和商品生产厂家的联系以及联系类型。

3)画出商品、顾客和商品生产厂家关系的E-R图。

讨论:E-R图和关系表之间的关系。

实验2 熟悉SQL Server 2000环境一、实验目的●掌握SQL Server 2000的安装●了解SQL Server 2000的组织结构和操作环境●熟悉SQL Server 2000的基本使用方法二、背景知识SQL Server 2000是Microsoft公司推出的高性能的客户端/服务器结构的关系数据库管理系统,它继承了SQL Server 7.0版本的高性能、可靠性、易用性和可扩充性的优点,同时又增加了一些新的特性,使其成为一种领先的数据库管理系统,可用于联机事务处理(OLTP)、数据仓库及电子商务等。

数据库原理及应用实验教案

数据库原理及应用实验教案

数据库原理及应用实验教案第一章:数据库基础1.1 实验目的了解数据库的基本概念掌握数据库的基本操作1.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具1.3 实验内容实验一:创建数据库和表学习使用数据库管理系统的命令行工具或图形界面工具创建数据库学习使用SQL语句创建表实验二:数据库的简单操作学习使用SQL语句进行数据的插入、查询、更新和删除操作第二章:数据库设计2.1 实验目的掌握数据库设计的基本步骤和方法学会使用实体-关系模型设计数据库2.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具2.3 实验内容实验三:实体-关系模型设计学习实体-关系模型的基本概念和表示方法根据给定的需求设计实体-关系模型实验四:将实体-关系模型转换为数据库模式学习将实体-关系模型转换为数据库模式的方法将设计的实体-关系模型转换为数据库模式第三章:SQL语言3.1 实验目的掌握SQL语言的基本操作学会使用SQL语言进行数据库的创建、查询和更新操作3.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具3.3 实验内容实验五:SQL语言的基本操作学习使用SQL语言创建数据库、表、视图和索引学习使用SQL语言进行数据的插入、查询、更新和删除操作第四章:数据库的安全与保护4.1 实验目的了解数据库的安全与保护的基本概念和方法学会使用数据库管理系统的权限管理和备份恢复功能4.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具4.3 实验内容实验六:数据库的权限管理学习使用数据库管理系统的权限管理功能,创建用户和角色,分配权限实验七:数据库的备份与恢复学习使用数据库管理系统的备份与恢复功能,进行数据库的备份和恢复操作第五章:数据库应用系统设计与实现5.1 实验目的掌握数据库应用系统的设计与实现的基本步骤和方法学会使用数据库管理系统进行应用程序的开发5.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具编程语言环境和开发工具(如Java、Python或C等)5.3 实验内容实验八:数据库应用系统的设计与实现学习使用数据库管理系统进行应用程序的连接、查询和更新操作实验九:实现简单的数据库应用功能使用编程语言环境和开发工具,实现用户登录、数据查询和数据增删改等功能实验十:测试与优化数据库应用系统对实现的数据库应用系统进行测试和优化,确保系统的稳定性和性能第六章:数据库性能优化6.1 实验目的学习数据库性能优化的基本策略和方法。

《数据库实验》实验报告

《数据库实验》实验报告

《数据库实验》实验报告《数据库实验》实验报告黄爱蓉编审湖北汽车⼯业学院电⼦信息科学系⼆〇〇七年⼀⽉实验⼀:建⽴数据库及基本表实验报告⼀、实验⽬的1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使⽤SQL查询分析器⽤CREA TE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。

⼆、实验内容1、创建数据库和查看数据库属性。

2、创建表。

3、查看和修改表结构。

4、熟悉企业管理器和查询分析器⼯具的使⽤⽅法三、实验步骤1、在企业管理器中创建数据库和数据表。

(1) 使⽤企业管理器建⽴图书管理数据库,数据库名为BM,初始⼤⼩为10MB,最⼤为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB,按1MB增长。

数据库的逻辑⽂件名和物理⽂件名均采⽤默认值。

详细步骤:(2) 在企业管理器中查看图书管理数据库的属性,并进⾏修改,使之符合要求。

(3) 通过企业管理器,在建好了图书管理数据库BM中建⽴图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅⽇期)。

创建上述三个表的步骤:三个表各个字段的数据类型:2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句:(2) 在数据库S-C下,创建基本表学⽣表student(sno,sname,ssex,sage,sdept)的sql语句:创建基本表课程表course(cno,cname, ccredit)的sql语句:创建基本表成绩表sc(sno,cno,grade)的sql语句:(3) 在窗⼝下分别键⼊DROP TABLE Student及DROP TABLE SC命令,运⾏后观察结果。

数据库系统设计实验报告-自己做的超完整

数据库系统设计实验报告-自己做的超完整

《数据库管理与开发》实验报告课程号:B0900990-0实验项目:数据库设计、创建,表及各种对象的创建、管理与应用(2)、全部选中之后然后点击“执行”,就会执行相应的语句,并在命令窗口显示“命令已经成功完成”。

如下图所示:(3)、然后刷新左边的数据库,就会出现我们所建立的OnlineShopping数据库。

(4)、然后找到E盘的OnlineShopping文件夹,点击进入之后就会看到包含我们所建立的数据文件和事务日志文件。

说明创建数据库成功。

2.在数据库中建表。

(1)、创建“客户表”。

(2)、创建“商品表”。

(3)、创建“生产厂商表”。

(4)、创建“商品类别表”。

(5)、创建“订单总表”。

(6)、创建“订单明细表”。

(7)、创建“供应表”。

注意这个表有点特殊的是:由两个属性共同的作为主键,要用CONSTRAIT 主键名PRIMARY KEY(属性A,属性B)(8)、创建“评论表”。

(9)、表全部创建完成之后,刷新数据库,可以看到这些表。

3、在数据库中创建索引。

说明:索引包含“唯一性索引”,“主键索引”,“聚集索引”。

因为生成的表的时候系统自动的为每一个表设置了“主键索引”如图所示,“聚集索引”是指表中的各记录的物理顺序与键值的逻辑顺序一致。

一张表中只能有一个“聚集索引”。

而系统中的这个主键索引也是聚集索引,所以不能再对表格创建聚集索引。

所以我下面创建的是唯一性索引,全部都是非聚集索引。

(1)、在“客户表”中创建了一个按“身份证号”列建立的唯一索引“Customer”。

说明:这里创建的是唯一索引,唯一索引的含义是对于表中的任何两行记录来说,索引键的值都各不相同。

并且要注意,如果表中一个字段或者多个字段的组合在多行记录中具有NULL值,则不能将这个字段或者字段组合作为唯一索引键。

因为对于每一个表的主键系统都自动的设置了相应的索引,在“客户表”中,身份证号是绝对不能相同的,所以可以设置为唯一索引键。

(2)、在“商品表”中创建了一个按“单价”列建立的非聚集索引“Goods”。

《数据库系统原理》课程实验

《数据库系统原理》课程实验

《数据库系统原理》课程实验姓名:班级:学号:佛山科学技术学院计算机系2012年12月目录一、实验所需表格 (3)二、实验内容 (3)2.1实验一SQL数据定义 (3)2.2实验二SQL数据查询 (7)2.3实验三连接、嵌套和集合查询 (14)2.4实验四SQL的数据更新 (21)2.5实验五视图的建立和维护 (24)2.6实验六触发器和存储过程 (330)三、实验感想 (37)参考资料1.王珊萨师煊.《数据库系统概论》(第四版).高等教育出版社,20062.李存斌.数据库应用技术---SQL Server2000简明教程.中国水利水电出版社,2001一、实验所需表格学生-课程数据库xskc中用到的三个表文件如下:学生表:StudentSno(学号)Sname(姓名)Ssex(性别)Sage(年龄)Sdept(所在系)200215121李勇男20CS(计算机科学系)200215122刘晨女19CS(计算机科学系)200215123欧阳原野女18MA(数学系)200215125刘阳光男19IS(信息系)课程表:CourseCno(课程号)Cname(课程名)Cpno(先修课)Ccredit(学分)1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL64学生选课表:SCSno(学号)Cno(课程号)Grade(成绩)200215121192200215121285200215121388200215122290200215122380二、实验内容2.1实验一SQL数据定义一、实验目的和要求1.掌握利用SQL查询分析器和企业管理器进行数据库及基本表的定义、删除与修改;2.掌握索引的建立与删除的方法。

二、实验内容及结果(一)建立数据库通过查询分析器或企业管理器建立学生-课程数据库xskc。

create database xskcon(name=xskc_data,filename='e:\sjksy\xskc_data.mdf')log on(name=xskc_log,filename='e:\sjksy\xskc_log.ldf')注:先在E:盘上建立一个文件夹(例如:E:\sjksy),数据库文件保存到自建的文件夹中。

《数据库原理》实验指导书

《数据库原理》实验指导书

实验一实验环境熟悉与数据库(表)的建立实验目的熟悉实验的环境,掌握数据库、数据表的建立方法。

实验内容1、熟悉SQL的使用环境进入SQL环境(企业管理管理器、查询分析器)。

2、建立学生管理系统所需的数据库、数据表一个数据库,三张数据表。

实验环境1、硬件PC机,具有网络功能。

2、软件OS:windows xp professional;DBMS: SQL Server 2005.实验过程一、SQL server 2005环境1、系统的安装系统的安装过程比较简单,给学生演示一下。

2、进入查询分析器开始→程序→Microsoft SQL Server→查询分析器, 如下图所示:图1-1查询分析器的界面如图1-2所示:图1-2在文本框输入命令即可。

举例:计算圆面积的SQL程序的输入与运行结果界面(图1-3)。

图1-33、企业管理器的进入开始→程序→Microsoft SQL Server→企业管理器, 如下图所示:图1-4企业管理器的界面如图1-5:图1-5二、建立数据库与数据表1、建立学生管理数据库用SQL语句(生成的主文件名为: XSGL.MDF)语句为:CREATE DATABASE XSGL2、建立学生管理系统的数据表(共3个)使用SQL语句建立如下三个数据表(表结构见课本P92):学生表: Student.DBF(选本班10个同学作为10条记录)CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20)UNIQUE, Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));INSERT INTO Student ( Sno, Sname, Ssex, Sdept, Sage) V ALUES ('200215128','陈东','男','IS',18);建立表结构的语句见课本p85(P88—P89),记录的输入用插入命令INSERT, 详见课本P115。

数据库系统教学设计

数据库系统教学设计

数据库系统教学设计在当今数字化时代,数据库系统已成为信息管理和处理的核心组成部分。

对于学习者而言,掌握数据库系统的知识和技能至关重要。

本教学设计旨在为学习者提供全面、系统且易于理解的数据库系统教学方案,帮助他们建立坚实的基础,并能够在实际应用中熟练运用相关知识。

一、教学目标1、知识目标使学生了解数据库系统的基本概念,包括数据、数据库、数据库管理系统等。

掌握数据库的设计方法,包括实体联系模型(ER 模型)、关系模式的规范化等。

熟悉常见的数据库管理系统(如 MySQL、Oracle 等)的基本操作和使用。

2、能力目标能够运用所学知识进行数据库的设计和开发。

具备独立解决数据库相关问题的能力。

培养学生的创新思维和实践能力。

3、情感目标激发学生对数据库系统的学习兴趣,培养其自主学习和探索的精神。

培养学生的团队合作意识和沟通能力。

二、教学重难点1、教学重点数据库的设计方法,特别是 ER 模型和关系模式的规范化。

数据库管理系统的基本操作,如数据的插入、查询、更新和删除。

2、教学难点关系模式的规范化理论及其应用。

复杂查询语句的编写和优化。

三、教学方法1、讲授法通过课堂讲解,向学生传授数据库系统的基本概念、原理和方法。

2、案例教学法结合实际案例,让学生在解决具体问题的过程中理解和掌握数据库系统的知识和技能。

3、实践教学法安排实验课程,让学生亲自动手操作数据库管理系统,加深对所学知识的理解和应用。

4、小组讨论法组织学生进行小组讨论,共同解决问题,培养学生的团队合作和沟通能力。

四、教学过程1、课程导入(约 15 分钟)通过介绍一些实际生活中常见的数据库应用场景,如在线购物网站的商品信息管理、学校的学生成绩管理系统等,引发学生对数据库系统的兴趣。

提出一些问题,如“数据库是如何存储和管理大量数据的?”“如何设计一个高效的数据库?”等,引导学生思考,从而引入本节课的主题。

2、知识讲解(约 60 分钟)数据库系统的基本概念(约 15 分钟)介绍数据、数据库、数据库管理系统、数据库系统的定义和特点。

数据库系统实验指导书新版

数据库系统实验指导书新版

实验一 创建数据库和表一、实验目的及要求:1.了解SQL SERVER 数据库的逻辑结构和物理结构2.了解表的结构特点3.了解SQL SERVER 的基本数据结构二、实验任务:1.学会在企业管理器中创建数据库和表2.学会在T-SQL 语句创建数据库和表三、操作要点:1.启动企业管理器,并创建数据库和表2.启动SQL 查询分析器3.掌握创建数据库和表分别是CREATE DATABASE 和CREATE TABLE四、注意事项:1.在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL 语句,其末尾不需要分号“;”作为命令结尾标记。

2.通常,SQL Server 2000对大多数末尾带有分号的SQL 命令都能顺利执行,但对少数的SQL 命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。

五、实验学时:2学时六、实验重点及难点:1.列级完整性约束条件2.空值的概念3.CREATE DA TABASE 和CREATE TABLE 的用法七、实验步骤:(一) 企业管理器创建数据库和表1.启动企业管理器;2.创建数据库Company ,并创建一个主数据文件Company_Data1,一个二级数据文件Company_Data2,一个日志文件Company_Log ,以及一个自定义文件组Company_Group ,该组中有数据文件Company_Data3,设置各文件属性。

(二) T-SQL 语句创建数据库和表1.启动SQL 查询分析器;2.创建数据库University ,并创建一个主数据文件University_Data 和一个日志文件University_Log ;3. 建立表5.3所示的学生表Students ,各属性为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。

要求Sno 和Sname 不能为空值,且取值唯一,Sno 为键码。

数据库计算机专业实验

数据库计算机专业实验

实验一 SQL SERVER2000的基本使用【实验目的】熟悉SQL SERVER2000的基本使用【实验学时】2学时(1周)【实验类型】综合型【实验环境】SQL Server2000【实验人数】1人/组【实验内容及要求】实验前应启动本机的SQL Server服务,其方法为:选择“程序”下“Microsoft SQL Server”下的“服务管理器”,启动数据库服务。

1.连接数据库(1)打开企业管理器,然后点击添加新服务器按钮。

(2)在打开的注册向导中点击“下一步”。

(3)在注册SQL Server向导中输入可用的服务器(可以输入服务器的ip,也可以从下面列表中选择局域网内的服务器)并添加到右边的列表框中,单击“下一步”。

(4)在注册SQL Server向导中选择“SQL Server身份验证”,单击下一步。

(5)在注册SQL Server向导中输入帐号和密码,单击下一步。

(6)按照默认设置单击“下一步”一直到“完成”,在界面左侧的树状列表中可以看到刚建立的连接。

2.建立数据库(1)点开界面左侧的树目录,然后选中某个连接下的“数据库”项。

(2)在“数据库”上单击鼠标右键,选择“新建数据库”。

(3)在弹出的对话框中输入数据库的名称,数据库及日志文件的位置等设置。

(4)单击“确定”按钮完成数据库的创建。

3.创建表(1)点开界面左侧的树目录,然后选中某个连接下的某个具体数据库。

(2)点开具体数据库前的“+”号,在“表”上单击鼠标右键,并选择“新建表”。

(3)在弹出的界面中输入列的名称、类型等相关信息,点击“保存”并输入表的名称。

4.修改表及读、写表(1)点开界面左侧的树目录,然后选中某个连接下的某个具体数据库。

(2)点开具体数据库前的“+”号,在“表”上单击鼠标左键。

(3)在右边罗列出该数据库下的所有数据表,选中某个数据表并在上面单击鼠标右键,选择“设计表”就可以修改数据表的设置。

(4)选中某个数据表并在上面单击鼠标右键,选择“打开表”下的“返回所有行”就可以增、删、改表中的数据。

教学管理数据库设计

教学管理数据库设计

教学管理数据库设计(总38页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--实验报告课程名称:数据库原理实验项目名称:数据库设计班级与班级代码:实验室名称(或课室):专业:任课教师:学号:姓名:实验日期:年月日广东商学院教务处制姓名实验报告成绩评语:指导教师(签名)年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验六教学管理数据库设计一、实验目的1、数据库设计就是要使学生采用本课程中学习的数据库设计方法,运用其基本思路与主要图表工具完成一个自己所了解的业务的数据库应用系统信息需求分析与数据库的概念设计、逻辑设计、物理设计以及处理功能设计2、熟悉数据库管理系统、SQL语言开发和实现该数据库,并测试、评价、优化改进。

3、通过本设计进一步弄懂数据库系统及其相关的基本概念,理解数据库系统的系统结构、主要特点,掌握数据库设计的原理、方法及其基本过程,初步具备数据库应用设计的能力,形成对数据库设计在处理实际问题的基本素质。

二、实验原理根据数据库设计的方法和步骤,进行需求分析、概念结构设计、逻辑结构设计、物理设计以及进行规范化、无损连接和优化改进等处理,再根据数据操作的原理和语法测试数据库的功能。

三、实验要求完成对教学管理数据库的以下操作1、需求分析:功能分析、总框架图、业务流程图、数据流图、数据字典2、概念模型设计(E-R图)3、逻辑设计(表、要验证函数依赖、规范化、无损连接)4、物理设计5、数据库实施和执行阶段(数据库的建立、数据录入、插入、删除、查询、更新、查询优化等)四、实验设备微型计算机一台、WinXP和Microsoft SQL Server 2000软件五、结果预测成功完成教学管理数据库的设计过程,各种操作顺利执行。

六、实验内容和步骤1、需求分析阶段1·1教学管理数据库的功能分析:教学管理数据库要实现对学生基本信息、学生选课信息、课程基本信息、教师基本信息、学生课程成绩及教师教务信息的管理1·2教学管理系统的总框架图如下图1-1所示:图1-1 总框架图教学管理系统业务流程图如下图1-2所示:图1-2 业务流程图1·4 调查用户需求:①教务处需求学籍信息处理:新生入学档案信息的录入毕业学生档案信息的处理学生档案的处理包括插入,删除以及修改学生基本信息的查询教师信息系统的管理:教师档案的录入教师基本信息的查询教师基本信息的更新包括修改,添加和修改制定教学计划:根据有关部门提供的教师任课信息表制定教学计划把教学计划输入课程管理数据库和教师任课数据库排课:根据教学计划为学生排课每个学生可以查询自己的课程教务处可以根据教学计划修改课程表将课程表分发给老师,学生,教室管理员和院系统计:统计学生的成绩情况、男女人数、选课情况等②学生查询功能:查询自己的基本信息查询考试成绩及排名查询课程信息查询任课老师的信息③教师查询:查询自己的基本信息查询课程表查询学生的总体成绩1·5数据字典经分析,该系统要用到六个基本表:课程信息表、教学任务表、教师档案表、学生档案表、学生选课表、学生成绩表,数据结构定义表1-3 数据结构说明经分析,数据项定义如下表1-5所示:表1-4 数据项说明1·6数据流图2、概念结构设计阶段(E-R图设计)经过分析数据字典和数据流图设计E—R图如下图2-1所示:图2-1 E—R图3、逻辑结构设计阶段3·1 由E—R图向关系模型的转换如下:学生(学号,姓名,性别,出生日期,籍贯,专业,班级)课程(课程ID,课程名称,课程类别,学分,学时)教师(教师ID,姓名,性别,职称,单位)选课(学号,课程ID,课程类别)成绩(学号,课程ID,平时成绩,期末成绩,总成绩)教务(课程ID,年度,学期,教师ID)3·2 各张表的逻辑结构设计如下所示:3·3 以上六张表有如下逻辑依赖关系,表现出各表间主键与外键的关图3-1 表的逻辑关系图3·4 根据需求分析和以上的逻辑关系图确定数据依赖。

SQL数据库实验报告实验六

SQL数据库实验报告实验六

第1部分实验8 存储过程和触发器1.实验目的(1)掌握通过SQL Server 管理平台和Transact-SQL 语句CREA TE PROCEDURE 创建存储过程的方法和步骤。

(2)掌握使用Transact-SQL 语句EXECUTE 执行存储过程的方法。

(3)掌握通过SQL Server 管理平台和Transact-SQL 语句ALTER PROCEDURE 修改存储过程的方法。

(4)掌握通过SQL Server 管理平台和Transact-SQL 语句DROP PROCEDURE 删除存储过程的方法。

(5)掌握通过SQL Server 管理平台和Transact-SQL 语句CREA TE TRIGGER 创建触发器的方法和步骤。

(6)掌握引发触发器的方法。

(7)掌握使用SQL Server 管理平台或Transact-SQL 语句修改和删除触发器。

2.实验内容及步骤(1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print ,该存储过程能够显示26个小写字母。

CREATE PROCEDURE letters_print ASDECLARE @count int SET @count=0 WHILE @count<26 BEGINPRINT CHAR(ASCII('a')+ @count) SET @count=@count +1 END单击查询分析器的“执行查询”按钮,查看studentsdb 数据库的存储过程是否有letters_print 。

使用EXECUTE 命令执行letters_print 存储过程。

(2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。

CREATE PROCEDURE stu_info @name varchar(40)ASSELECT a.学号,姓名,课程编号,分数FROM student_info a INNER JOIN grade taON a.学号= ta.学号WHERE 姓名= @name使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。

数据库系统概论实验报告

数据库系统概论实验报告

数据库系统概论实验报告x一、实验内容本次实验的内容为:数据库系统概论实验。

实验将通过MySQL来设计和操作一个简单的数据库系统,以便对数据库系统和其基本概念有深入的理解。

本次实验主要分为以下几个部分:1.创建和操作数据库:使用MySQL Workbench等工具来创建和操作数据库,实现一个简单的数据库系统;2.SQL查询语句的设计:使用SQL语言来设计查询语句,以实现对数据库系统中的数据进行存取;3.索引和排序的使用:使用SQL语句实现索引和排序,以提高数据库系统的性能;4.MySQL的安全管理:使用MySQL命令行来管理MySQL,以便安全访问数据库系统。

二、实验步骤1.创建和操作MySQL数据库:(1)在MySQL Workbench中设计并创建一个名为“Test”的数据库,并使用MySQL语句创建一个名为“Students”的表。

表的字段有学号(id),姓名(name),性别(gender),年龄(age)四个字段。

(2)向该学生表中增加一些记录,使用MySQL INSERT语句实现。

(3)使用MySQL UPDATE语句将学号为:1001的同学的性别改为“男”。

(4)使用MySQL SELECT语句查询年龄大于20岁的所有学生的信息。

2.索引和排序的使用:(1)使用MySQL语句添加一个名为name_index的索引,使其可以按姓名查询。

(2)使用MySQL ORDER BY语句,将学生表按学号升序排序。

3.MySQL的安全管理:(1)创建一个名为user1的用户,并为其设置密码。

(2)使用GRANT语句,将用户user1授予SELECT权限。

三、实验结果1.创建和操作MySQL数据库:(1)成功创建了名为“Test”的数据库,并在其中创建了一个表,表名为“Students”,字段有id、name、gender、age四个字段。

(2)使用MySQL INSERT语句成功地向表中添加了一些记录。

数据库设计实验报告

数据库设计实验报告

数据库设计实验报告一、实验目的本次实验旨在通过设计一个数据库,加深对数据库设计原理和方法的理解,掌握数据库设计工具的使用,提高数据库设计能力。

二、实验环境本次实验使用MySQL数据库管理系统,并借助MySQL Workbench进行数据库设计和建模。

三、实验步骤1. 确定数据库需求:根据一个图书管理系统的需求,确定数据库中需要包含的实体、属性及它们之间的关系。

2. 实体关系模型设计:绘制ER图,表示各个实体之间的关系,包括实体的属性和主键。

3. 范式分解:将设计得到的实体关系模型转化为符合第三范式的关系模式。

4. 数据库物理设计:根据第三步得到的关系模式设计数据库的物理结构,确定表的字段、数据类型、约束等。

5. 创建数据库:在MySQL中创建数据库,并创建相应的表。

6. 插入数据:向数据库中插入一些测试数据,以便后续查询和操作。

7. 查询测试:通过SQL语句进行查询操作,检查数据库设计的正确性和完整性。

8. 实验总结:总结本次实验的过程和收获,对所学知识进行总结和回顾。

四、实验设计根据设计要求,我们设计了一个简单的图书管理系统数据库,包括以下几个表:1. 书籍表(Book)- 书籍编号(BookID)- 书名(Title)- 作者(Author)- 出版社(Publisher)- 出版日期(PublishDate)2. 借阅者表(Reader)- 借阅者编号(ReaderID)- 姓名(Name)- 性别(Gender)- 手机号(Phone)3. 借阅记录表(BorrowRecord)- 记录编号(RecordID)- 书籍编号(BookID)- 借阅者编号(ReaderID)- 借阅日期(BorrowDate)- 应还日期(DueDate)- 实际还书日期(ReturnDate)四、实验结果经过实验设计和数据库创建,数据库成功搭建完成。

我们通过一系列SQL查询操作,验证了数据库的正确性和完整性,包括图书信息的查询、借阅者信息的查询、借阅记录的查询等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告学院:计信学院专业:网络工程班级:091 姓名学号实验组实验时间2012-6-1 指导教师成绩实验项目名称实验六:数据库系统设计实验目的要求掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。

实验要求本实验属于设计型实验,通过实验,加强对课堂讲授知识的理解。

实验原理必须按照数据库设计的四个阶段进行:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。

概念模型设计时采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法;概念模型必须用E-R图进行表示。

在逻辑设计阶段,将E-R图转换成关系模式,然后进行关系模式的规范化。

在物理设计阶段,将关系模式转化成SQL Server中的具体的数据库表,并建立表间的关系,表的索引,及相关的约束。

实验仪器(1)硬件条件:个人计算机。

(2)软件条件:Windows 2000NT Server; MS SQL Server 2000。

实验步骤1、完成系统需求分析报告在系统需求分析报告中包括采用的设计方法、数据流图和数据字典。

2、完成数据库信息要求和关系数据模型设计使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行详细描述。

详细描述系统需要的基本表及属性、视图和索引,对基本表的主码、候选码、外码及被参照表进行说明,对基本表中数据的约束条件进行说明。

3、完成数据库的操作和应用要求报告在数据库的操作和应用要求报告中,详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能模块图。

4、在机器上完成整个数据库的设计。

实验内容要求根据周围的实际情况,自选一个自己熟悉的小型数据库应用项目,并深入到应用项目的现实世界中,进行系统分析和数据库设计。

例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。

实验数据我设计的是车站售票管理系统,主要用于车站日常的票务处理。

一、需求分析车站售票管理系统员工管理模块汽车管理模块线路管理模块车票管理模块票务信息管理模块员工信息添加员工信息删除员工信息修改汽车信息添加汽车信息修改汽车信息删除线路信息添加线路信息修改线路信息删除添加车票删除车票查询车票信息购买/预订车票员工信息查询汽车信息查询线路信息查询车票信息查询功能模块图1.员工管理模块:员工有两种身份,售票员和系统管理员。

系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。

2.线路信息管理模块:系统管理员可以在线路信息管理模块对车站线路信息进行管理。

管理员首先建立线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就可以进行相应的操作。

管理员也可以通过本模块查询到所有需要查询的线路的详细信息。

3.汽车信息管理模块:系统管理员可以在汽车信息管理模块实现对汽车信息的管理。

管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息以及想要删除某个汽车信息的时候,就可以完成相应的操作。

管理员也可以在整个数据库中查询相关汽车信息。

4.车票信息管理模块:系统管理员可以在车票管理模块实现对车票信息的管理。

管理员根据相应的汽车信息和线路信息来设置相应的车票详细信息。

管理员还可以对某条线路的车票信息进行修改,删除和查询操作。

5.车票订购信息模块用户可以通过查询时间,线路和汽车信息,来确定自己要买什么时间,什么路线,什么型号的汽车的车票,并形成表单。

程序分为登陆界面,主界面,线路信息管理界面,汽车信息管理界面,车票信息管理界面,票务信息管理界面,员工管理界面这几个主体界面。

使用时应先知道管理员或员工帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,票务信息,帮助,退出程序菜单选项。

二、系统设计(一)数据流图:车站售票管理系统售票员购票信息售票信息系统管理员汽车,线路等信息汽车,路线等信息顶层数据流图查询处理买票购票信息可供票车票车票记录售票记录信息处理车票信息汽车记录线路记录读入信息处理汽车信息站点记录站点信息1层车票数据流图系统管理员售票员售票出售票查询查询打印售票报表报表打印已售车票查看已售车票情况查看发车时刻表显示发车时刻发车修改修改线路表汽车表员工表线路变更汽车变更人员变更增,删,改增,删,改增,删,改决定决定决定信息处理站点修改增,删,改站点表提取站点(二)数据字典:编号数据项名数据项含义说明数据类型长度与其他数据项的关系是否可以为空1 Uno用户编号整型4User表主键不2 UserName姓名nvarchar 20不3 Password密码nvarchar 20 不4 UserIdentiey身份nvarchar 20 不5 Cno 汽车编号整型 4 Coach表主键不6 Coachnumber 车牌号nvarchar 20 不7 Ctype 汽车型号nvarchar 208 Ctime购买时间datetime 89 Cnum座位数量整型 4 不10 Ctv有无电视char 1011 Ccondition有无空调char 1012 Coachholder 负责人nvarchar 20 不13 Lno线路编号整型 4 Line表主键不14 Ldepart起始城市nvarchar 20 不15 Larrival到达城市nvarchar 20 不16 Ltime 路程时间datetime 817 Tno 车票编号整型 4 Ticket表主键不18 Price 车票价格整型 4 不19 SoldTicket 已卖票数整型 4 不20 LastTicket 剩余票数整型 4 不21 Tdate 出发日期datetime 8 不22 Ttime 出发时间datetime 8 不23 Ptime 购买时间datetime 824 Seat 座位号整型 4 不25 ReserveORBuy 预定或购买char 10 不26 Cityno 站点编号整型 4 City表主键不27 CityName 站点名称nvarchar 20 不2.数据结构编号数据结构名属性1 员工员工编号,姓名,密码,身份2 汽车汽车编号,汽车型号,车牌号,购买时间,座位数量,有无电视,有无空调,负责人3 线路线路编号,起始城市,到达城市,路程时间4 车票车票编号,线路编号,汽车编号,车票价格,已卖票数,剩余票数,出发日期,出发时间5 购票车票编号,购买日期,预定或购买,座位号6 站点站点编号,站点名称编号数据流名输入输出1 变更汽车信息变更信息汽车记录汽车记录2 查询汽车信息汽车编号/汽车型号/车牌号/有无电视/有无空调/负责人3 变更站点信息变更信息站点记录4 变更线路信息变更信息线路记录5 查询线路信息线路编号/起始城市,到达城市线路记录6 变更车票信息变更信息车票记录车票记录7 查询车票信息车票编号/起始城市,到达城市/汽车型号/出发日期,出发时间8 预定车票车票编号,购买日期,预定或购买预订记录9 购买车票车票编号,购买日期,预定或购买购买记录10 查询购买情况车票编号/起始城市,到达城市/汽车型号购买记录11 更改用户变更信息用户记录12 员工信息用户输入电脑的用户名、密码系统主菜单4.数据存储数据存储名输入数据流输出数据流说明部分用户信息变更用户信息查询用户信息汽车信息变更汽车信息查询汽车信息线路信息变更线路信息查询线路信息车票信息变更车票信息查询车票信息预定车票信息车票信息预订记录购买车票信息车票信息购买记录5.处理过程处理过程名输入数据流输出数据流处理操作查询已知汽车/线路/车票信息所需信息购买/预定车票信息+购票时间+座位号无更新变更信息再次查询信息用户权限认证用户名,密码,身份系统主菜单用户登录(三)E-R图售票员汽车线路购买员工编号姓名密码身份汽车编号汽车型号购买时间座位数量有无电视有无空调线路编号起始城市到达城市路程时间车票编号车票价格剩余票数购买日期车牌号负责人已卖票数出发时间预定或购买座位号站点站点编号站点名称系统管理员管理管理车票管理包含包含员工编号姓名密码身份出发日期mnnm1p1mm npm(四)关系模型:1,User员工表(员工编号Uno,姓名UserName,密码Password,身份UserIdentiey)2,Coach汽车信息表(汽车编号Cno,汽车型号Ctype,车牌号Coachnumber,购买时间Ctime,座位数量Cnum,有无电视Ctv,有无空调Ccondition,负责人Coachholder)3,Line线路信息表(线路编号Lno,起始城市Ldepart,到达城市Larrival,路程时间Ltime)4,Ticket车票信息表(车票编号Tno,线路编号Lno,汽车编号Cno,车票价格Price,已卖票数SoldTicket,剩余票数LastTicket,出发日期Tdate,出发时间Ttime)5,Purchase车票购买表(车票编号Tno,购买日期Ptime,预定或购买ReserveORBuy,座位号Seat)6,City站点表(站点编号Cityno,站点名称CityName)三、系统实现(一)数据库设计:1.City站点表:erinfo员工表:3.Ticket车票信息表:4.Coach汽车信息表:5.Purchase车票购买表:6.Line线路表:(二)代码登录操作代码:(1)SqlHelper helper = new SqlHelper();SqlDataReader rdr;(2)if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(identity)) {MessageBox.Show("姓名,密码,身份框均不能为空!");}rdr = helper.ExecuteReader("dbo.SelectUserinfo", CommandType.StoredProcedure);while (rdr.Read()){if (rdr["UserName"].ToString() == name && rdr["Password"].ToString() == password && rdr["UserIdentity"].ToString() == identity){this.Hide();string iden = rdr["UserIdentity"].ToString();MainForm main = new MainForm(iden);main.ShowDialog();rdr.Close();return;}}MessageBox.Show("错误的姓名或密码或与身份不匹配,请重新输入!");rdr.Close();(3)存储过程:ALTER PROCEDURE dbo.SelectUserinfo/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINselect * from UserinfoEND修改/删除操作代码:(1)try{SqlCommandBuilder scb = new SqlCommandBuilder(sd);sd.Update(ds, "a");ds.AcceptChanges();MessageBox.Show("修改成功!");}catch (Exception ex){MessageBox.Show(ex.Message.ToString());}(2)try{SqlCommandBuilder scb = new SqlCommandBuilder(sd);int a = dataGridView1.CurrentRow.Index;ds.Tables[0].Rows[a].Delete();sd.Update(ds, "a");ds.AcceptChanges();MessageBox.Show("删除成功!");}catch (Exception ex){MessageBox.Show(ex.Message.ToString());}添加操作代码:(1)DAL.CoachDAO coach = new Coach.DAL.CoachDAO();SqlHelper helper = new SqlHelper();(2) if (string.IsNullOrEmpty(coachnumber) || string.IsNullOrEmpty(seatnumber1) ||string.IsNullOrEmpty(coachholder)){ MessageBox.Show("车牌号,座位数量,负责人均不能为空!");}else{if (coach.Add(coachtype,coachnumber,date2,seatnumber,ishavetv,ishavecon,coachholder)) MessageBox.Show("添加成功!");elseMessageBox.Show("添加失败!");}(3)实体类CoachDAO.cs中:public bool Add(string coachtype,string coachnumber,DateTime date2, int seatnumber,string ishavetv,string ishavecon,string coachholder){bool flag = false;DataTable dt = new DataTable();string cmdText = "dbo.AddCoach";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@coachtype",coachtype),new SqlParameter("@coachnumber",coachnumber),new SqlParameter("@date2",date2),new SqlParameter("@seatnumber",seatnumber),new SqlParameter("@ishavetv",ishavetv),new SqlParameter("@ishavecon",ishavecon),new SqlParameter("@coachholder",coachholder)};int res = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);if (res > 0){flag = true;}return flag;}(4)存储过程:ALTER PROCEDURE dbo.AddCoach@coachtype nvarchar(20),@coachnumber nvarchar(20),@date2 datetime,@seatnumber int,@ishavetv char(10),@ishavecon char(10),@coachholder nvarchar(20)/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINinsert into Coach (Ctype,Coachnumber,Ctime,Cnum,Ctv,Ccondition,Coachholder) values(@coachtype,@coachnumber,@date2,@seatnumber,@ishavetv,@ishavecon,@coachholder) END搜索操作代码:(1)SqlHelper helper = new SqlHelper();SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=Coach;Integrated Security=True");SqlDataAdapter sd; //定义一个数据适配器DataSet ds; //定义一个数据集(2)string str1 = "select Lno as 编号,Ldepart as 起始城市,Larrival as 到达城市,convert(varchar(10),Ltime,108) as 路程时间from Line where Lno =" + lineid + "";dataBind(str1);(3)private void dataBind(string str){try{sd = new SqlDataAdapter(str, conn);ds = new DataSet();sd.Fill(ds, "a");dataGridView1.DataSource = ds;dataGridView1.DataMember = "a";}catch (Exception ex){MessageBox.Show(ex.Message);}}查询操作代码:(1)DAL.PurchaseDAO purchase = new Coach.DAL.PurchaseDAO();SqlHelper helper = new SqlHelper();(2)dataGridView1.DataSource = purchase.Select1(departcity,arrivalcity,date2);(3)实体类PurchaseDAO.cs中:public DataTable Select1(string departcity, string arrivalcity, DateTime date2){DataTable dt = new DataTable();string cmdText = "dbo.SelectPurchase";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@departcity",departcity),new SqlParameter("@arrivalcity",arrivalcity),new SqlParameter("@date2",date2)};dt = helper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);return dt;}(4)存储过程ALTER PROCEDURE dbo.SelectPurchase@departcity nvarchar(20),@arrivalc ity nvarchar(20),@date2 datetime/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINselect Ldepart as 起始城市,Larrival as 到达城市,convert(varchar(10),Tdate,120) as 出发日期,convert(varchar(10),Ttime,108) as 出发时间,Ctype as 车型,Coachnumber as 车牌号,Ctv as 有无电视,Ccondition as 有无空调,Price as 票价,Cnum as 总票数,LastTicket as 剩余票数from Coach,Line,Ticket where o = o and Line.Lno = Ticket.Lno and Ldepart = @departcity and Larrival =@arrivalc ity and Tdate = @date2END预订/购买操作代码:(1)tno = purchase.Y uding(depart, arrival, coachnum);(2)实体类PurchaseDAO.cs中public int Y uding(string depart, string arrival, string coachnum){int tno;DataTable dt = new DataTable();string cmdText = "dbo.SelectTno";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@depart",depart),new SqlParameter("@arrival",arrival),new SqlParameter("@coachnum",coachnum)};dt = helper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);tno = Convert.ToInt32(dt.Rows[0]["Tno"]);return tno;}(3)if (purchase.UpdateTicket(tno) && purchase.AddG(tno, datetime2, seat))MessageBox.Show("购买成功!您购买的票为:\n" + depart + "---" + arrival + "\n" + "出发时间:" + date + "_" + time + "\n" + "车牌号:" + coachnum + "\n" + "座位号:" + seat);elseMessageBox.Show("购买失败!");(4)public bool UpdateTicket(int tno){bool flag = false;string cmdText = "dbo.UpdateTicket";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@tno",tno)};int res = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);if (res > 0){flag = true;}return flag;}(5)public bool AddG(int tno, DateTime datetime2, string seat){bool flag = false;string cmdText = "dbo.AddPurchaseYG";SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@tno",tno),new SqlParameter("@datetime2",datetime2),new SqlParameter("@seat",seat)};int res = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);if (res > 0){flag = true;}return flag;}(6)存储过程ALTER PROCEDURE dbo.UpdateTicket@tno int/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINupdate Ticket set SoldTicket = SoldTicket+1,LastTicket = LastTicket-1 where Tno = @tno END(7)ALTER PROCEDURE dbo.AddPurchase@tno int,@datetime1 datetime,@seat nvarchar(20)/*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*/AS/* SET NOCOUNT ON */BEGINinsert into Purchase(Tno,Ptime,ReserveORBuy,Seat) values (@tno,@datetime1,'预订',@seat) END数据库连接类代码:///<summary>/// SqlCE数据库保持连接类///</summary>public class SqlHelper{public SqlConnection sqlconn = null;private SqlCommand cmd = null;private SqlDataReader sdr = null;///<summary>///构造函数///</summary>public SqlHelper(){string connStr = "Data Source=(local);Initial Catalog=Coach;Integrated Security=True";sqlconn = new SqlConnection(connStr);}private SqlConnection GetConn(){if (sqlconn.State == ConnectionState.Closed){sqlconn.Open();}return sqlconn;}///<summary>///构造函数///</summary>///<param name="fSqlceConnString">数据库连接字符串</param>public SqlHelper(String fSqlceConnString){string connStr = "Data Source=(local);Initial Catalog=Coach;Integrated Security=True";sqlconn = new SqlConnection(connStr);this.sqlconn = new SqlConnection(fSqlceConnString);if (sqlconn.State == ConnectionState.Closed){sqlconn.Open();}}///<summary>///执行不返回结果的SQL语句。

相关文档
最新文档