实验一 数据库设计

合集下载

《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。

本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用SQL语言创建数据库表格和定义表格的各项属性。

1. 数据库的定义意义数据库是指存储数据的集合,它是一个有组织的数据集合,可以提供查询、存储和管理数据的功能。

数据库的定义是建立数据库的结构和特性,包括数据表的定义、数据类型的定义以及数据表之间的关系定义。

数据库的定义可以规范化和统一数据存储结构,提高数据的存储效率和管理方便性。

2. 数据库的基本概念和术语在数据库的定义过程中,需要了解一些基本概念和术语:(1) 数据表:数据表是数据库的一个基本单位,它由多个数据行和数据列组成,用于存储和表示数据。

(2) 数据类型:数据类型定义了数据的存储格式和表达方式,常见的数据类型有整数、浮点数、字符型、布尔型等。

(3) 主键:主键是数据表中的一列或者一组列,其值用来唯一标识数据表中的每一行,主键的值不能重复。

(4) 外键:外键是数据表之间的关系表达,它是一个指向其他数据表主键的列,用于建立数据表之间的联系。

(5) 索引:索引是一种提高数据检索效率的数据结构,它可以加快数据的查询速度。

3. 使用SQL语言创建数据库表格在实验过程中,我们将使用SQL语言来创建数据库表格。

SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于操作和管理数据库的标准语言。

SQL语言的创建表格语句包括以下几个关键字和语法:(1) CREATE TABLE:用于创建数据库表格。

(2) 表名:指定创建的表格的名称。

(3) 列名和数据类型:指定表格中的各列名称和数据类型。

(4) 主键:指定表格中的主键。

(5) 外键:指定表格中的外键。

4. 定义表格的各项属性在使用SQL语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。

数据库的设计实验报告

数据库的设计实验报告

一、实验目的1. 理解数据库设计的概念、过程和步骤。

2. 掌握数据库概念结构、逻辑结构和物理结构的设计方法。

3. 能够运用E-R图进行数据库概念结构设计。

4. 能够运用SQL语句进行数据库逻辑结构和物理结构设计。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库概念结构设计2. 数据库逻辑结构设计3. 数据库物理结构设计四、实验步骤1. 数据库概念结构设计(1)分析需求,确定实体和属性以“图书管理系统”为例,确定实体和属性如下:实体:图书、读者、借阅信息属性:- 图书:书名、作者、出版社、ISBN、出版日期、分类号、库存数量- 读者:读者编号、姓名、性别、出生日期、联系电话、邮箱、住址- 借阅信息:借阅编号、图书编号、读者编号、借阅日期、归还日期、状态(2)绘制E-R图根据实体和属性,绘制E-R图如下:```图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态) ```2. 数据库逻辑结构设计(1)确定关系模式根据E-R图,确定关系模式如下:- 图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)- 读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)- 借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态)(2)编写SQL语句创建表```sqlCREATE TABLE 图书 (书名 VARCHAR(100),作者 VARCHAR(50),出版社 VARCHAR(50),ISBN VARCHAR(20),出版日期 DATE,分类号 VARCHAR(10),库存数量 INT);CREATE TABLE 读者 (读者编号 VARCHAR(10),姓名 VARCHAR(50),性别 CHAR(1),出生日期 DATE,联系电话 VARCHAR(20),邮箱 VARCHAR(50),住址 VARCHAR(100));CREATE TABLE 借阅信息 (借阅编号 VARCHAR(10),图书编号 VARCHAR(10),读者编号 VARCHAR(10),借阅日期 DATE,归还日期 DATE,状态 VARCHAR(10));```3. 数据库物理结构设计(1)确定索引根据需求,确定索引如下:- 图书表:ISBN、分类号- 读者表:读者编号- 借阅信息表:借阅编号、图书编号、读者编号(2)编写SQL语句创建索引```sqlCREATE INDEX idx_isbn ON 图书(ISBN);CREATE INDEX idx_分类号 ON 图书(分类号);CREATE INDEX idx_读者编号 ON 读者(读者编号);CREATE INDEX idx_借阅编号 ON 借阅信息(借阅编号);CREATE INDEX idx_图书编号 ON 借阅信息(图书编号);CREATE INDEX idx_读者编号 ON 借阅信息(读者编号);```五、实验结果与分析1. 通过实验,掌握了数据库设计的概念、过程和步骤。

数据库概念结构、逻辑结构与物理结构设计实验报告

数据库概念结构、逻辑结构与物理结构设计实验报告

实验一 数据库概念结构、逻辑结构与物理结构设计一、实验目的1、熟练掌握概念结构、逻辑结构与物理结构的设计方法。

2、熟练使用PowerDesigner 进行CDM 、PDM 设计。

3、学会使用PowerDesigner 检测CDM 模型的方法。

4、熟练掌握E-R 图转换为关系模式的方法。

5、掌握使用PowerDesigner 将CDM 转化为PDM 的方法。

二、实验内容1、绘制学籍管理E-R 图。

2、将概念模型转换成物理模型。

3、使用PowerDesigner 进行CDM 、PDM 设计。

三、实验步骤1、绘制学籍管理系统的E-R 图。

姓名出生日期学生班级班级编号班级名称性别学号管理所在学院学院名称学院编号隶属n1n课程教师课程类型职称出生日期成绩性别姓名选课授课聘任就职学期课程编号课程名称属于课程介绍先修课程学分授课地点教师编号参加工作日期职称编码职称课程类型码类型说明mn1n1mm学期总学时m1n12、使用PowerDesigner 设计CDM 。

①启动PowerDesigner。

②新建CDM模型。

③创建实体。

④创建实体之间的关系。

⑤创建实体之间的联系。

⑥验证CDM模型的正确性。

3、将CDM转换为PDM。

在CDM设计界面上,选择“Tools”→“Check Model”命令,检查CDM的正确性。

显示结果如下:可见不存在错误,选择“Tools”→“Generate Physical Data Model”命令,将CDM转换为PDM 并设置名称“学籍管理”。

四、实验结果附“学籍管理系统”CDM 图和PDM 图五、实验总结对概念结构、逻辑结构与物理结构的设计方法了解和掌握,学会了使用PowerDesigner 设计“学籍管理系统”CDM 模型。

掌握使用PowerDesigner 将CDM 转化为PDM 的方法。

班级班级编号学院编号班级名称INTEGER INTEGER VARCHAR(20)<pk><fk>学生学号班级编号姓名性别出生日期LONG INTEGER VARCHAR(10)CHAR(2)DATE<pk><fk>学院学院编号学院名称INTEGER VARCHAR(30)<pk>教师教师编号职称编码学院编号姓名性别出生日期参加工作日期INTEGER CHAR(2)INTEGER VARCHAR(10)CHAR(2)DATE DATE<pk><fk1><fk2>课程课程编号课程类型编码教师编号课程名称先修课程总学时学分课程介绍学期授课地点授课学期INTEGER INTEGER INTEGER VARCHAR(16)INTEGERNUMERIC(3,0)SMALLINT VARCHAR(20)CHAR(11)VARCHAR(30)CHAR(11)<pk><fk2><fk1>课程类型课程类型编码类型说明INTEGER VARCHAR(20)<pk>职称职称编码职称CHAR(2)VARCHAR(20)<pk>选课学号课程编号成绩LONG INTEGER NUMERIC(3,1)<pk,fk1><pk,fk2>。

数据库设计 实验报告

数据库设计 实验报告

数据库设计实验报告数据库设计实验报告一、引言数据库设计是计算机科学中至关重要的一环,它涉及到数据的组织、存储和管理。

本实验报告旨在介绍数据库设计的基本原理和实践经验,以及本次实验的设计过程和结果。

二、数据库设计原理1. 数据库设计的目标数据库设计的主要目标是满足用户需求,提供高效、可靠、安全的数据存储和访问方式。

设计师需要深入了解用户的需求,并根据需求制定合理的设计方案。

2. 数据库设计过程数据库设计通常包括需求分析、概念设计、逻辑设计和物理设计四个阶段。

需求分析阶段需要明确用户需求和系统功能,概念设计阶段将需求转化为概念模型,逻辑设计阶段将概念模型转化为逻辑模型,物理设计阶段将逻辑模型映射到具体的数据库管理系统。

3. 实体关系模型实体关系模型是数据库设计中常用的概念模型,它通过实体、属性和关系描述现实世界的数据结构。

实体表示现实世界中的对象,属性表示实体的特性,关系表示实体之间的联系。

4. 范式理论范式理论是数据库设计中的重要概念,它描述了数据的结构和依赖关系。

常用的范式包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。

设计师需要根据需求和数据特点选择合适的范式,并遵循范式理论进行设计。

三、实验设计过程本次实验的数据库设计目标是创建一个图书管理系统。

根据需求分析,我们确定了以下实体和关系:1. 实体:- 书籍(书名、作者、出版社、出版日期、价格等属性)- 读者(姓名、年龄、性别、联系方式等属性)- 图书馆(名称、地址、管理员等属性)2. 关系:- 借阅关系(读者ID、书籍ID、借阅日期、归还日期等属性)根据实体关系模型和范式理论,我们进行了如下设计过程:1. 概念设计:根据需求分析,我们创建了实体-属性关系图,明确了实体和属性之间的关系。

2. 逻辑设计:根据概念设计的结果,我们将实体关系图转化为关系模式,并进行了范式分析。

通过分析,我们确定了每个关系模式的主键和外键,并消除了冗余和不合理的依赖关系。

数据库原理实验报告(Mysql)

数据库原理实验报告(Mysql)

实验项目列表实验一:数据库的定义实验一、实验目的:1、理解MySQL Server 6.0 服务器的安装过程和方法;2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。

二、实验环境:硬件:PC机软件:Windows操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.0三、实验内容和原理:1、安装MySQL以及相应的GUI工具2、用SQL命令,建立学生-课程数据库基本表:学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept);课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit);选课SC(学号Sno,课程号Cno,成绩Grade);要求:1) 用SQL命令建库、建表和建立表间联系。

2) 选择合适的数据类型。

3) 定义必要的索引、列级约束和表级约束.四、实验步骤:1、运行Navicat for MySQL,然后进行数据库连接,进入到GUI界面;2、利用图形界面建立基础表:student表的信息:Sage smallint 6Sdept varchar 20course表的信息:字段名类型长度约束条件Cno varchar 4 非空、主键Cname varchar 40Cpno varchar 4 与course表中Cno关联Ccredit smallint 6sc表的信息:字段名类型长度约束条件Sno varchar 9 非空、主键、与student表中Sno外键关联,级联删除Cno varchar 4 非空、主键、与course表中Cno外键关联Grade smallint 6(1)、连接数据库,在localhost中点击鼠标右键(如图1所示),点击“新建数据库”,在弹出的窗口中输入数据库名称(如图2所示),然后单击“确定”,就完成了数据库的建立。

《数据库实验》实验报告

《数据库实验》实验报告

《数据库实验》实验报告《数据库实验》实验报告黄爱蓉编审湖北汽车⼯业学院电⼦信息科学系⼆〇〇七年⼀⽉实验⼀:建⽴数据库及基本表实验报告⼀、实验⽬的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命令,运⾏后观察结果。

数据库原理实验一数据库和表的创建与管理

数据库原理实验一数据库和表的创建与管理

数据库原理实验一数据库和表的创建与管理The following text is amended on 12 November 2020.一. 实验内容、步骤以及结果1.利用图形用户界面创建,备份,删除和还原数据库和数据表(1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

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

(2)在SPJ数据库中创建如图图的四张表(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。

(提示:最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。

(5) 删除已经创建的工程项目表(J表)。

(6) 删除SPJ数据库。

(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)(7) 利用备份过的bak备份文件还原刚才删除的SPJ数据库。

(还原数据库)(8) 利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。

(附加)(9) 将SPJ数据库的文件大小修改为100MB。

(10) 修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。

2. 利用SQL语言创建和删除数据库和数据表(1) 用SQL语句创建如图图要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名和物理文件名,日志文件名请自定义。

(2) 用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。

不用输入数据。

(3) 用SQL中的backup 语句将数据库Student备份到一个bak文件。

数据库设计实验报告

数据库设计实验报告

一、实验名称数据库设计二、实验目的1. 理解数据库设计的基本概念和过程。

2. 掌握E-R图设计方法,能够将E-R图转换为关系模型。

3. 熟悉数据库设计工具的使用,如PowerPoint、Visio、Navicat等。

4. 了解满足BCNF的条件,确保数据库设计的合理性。

三、实验器材1. 计算机2. PowerPoint、Visio、Navicat等绘图软件3. 实验指导书四、实验内容本次实验主要分为以下步骤:1. 题目分析本次实验题目为“医院信息系统”,涉及科室、病房、医生和病人等实体。

要求设计E-R图,并转换为关系模型。

2. E-R图设计根据题目要求,首先分析实体及其属性,然后确定实体之间的关系。

具体步骤如下:(1)确定实体:科室、病房、医生、病人。

(2)确定实体属性:科室(科室编号、科室名称、科室电话等),病房(病房编号、病房名称、床位数量等),医生(医生编号、姓名、性别、年龄、职称等),病人(病人编号、姓名、性别、年龄、病情等)。

(3)确定实体间关系:科室与病房之间为一对多关系,科室与医生之间为一对多关系,病房与病人之间为一对多关系。

3. E-R图绘制使用Visio软件绘制E-R图,包括实体、属性和关系。

4. E-R图转换为关系模型根据E-R图,将实体转换为关系,属性转换为关系中的属性。

具体如下:(1)科室(科室编号,科室名称,科室电话)(2)病房(病房编号,病房名称,床位数量)(3)医生(医生编号,姓名,性别,年龄,职称)(4)病人(病人编号,姓名,性别,年龄,病情)(5)科室与病房之间(科室编号,病房编号)(6)科室与医生之间(科室编号,医生编号)(7)病房与病人之间(病房编号,病人编号)5. 满足BCNF条件分析关系模型,确保满足BCNF条件。

具体如下:(1)科室关系满足BCNF,因为科室编号为主键,无部分依赖。

(2)病房关系满足BCNF,因为病房编号为主键,无部分依赖。

(3)医生关系满足BCNF,因为医生编号为主键,无部分依赖。

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

实验一数据库设计实验名称:数据库设计实验内容:以所在学校选课和课程管理为实际应用背景,设计一个教学管理数据库。

假设至少包含以下需求:学生信息管理;课程信息管理;教师信息管理;学生选修课程及成绩信息管理;教师负责课程和讲授课程信息管理。

实验目的:通过实践,掌握本章介绍的数据库设计方法。

学会使用PowerDesigner来完成数据库设计过程。

实验方法(或程序源代码):(1)、根据实验内容明确要完成的系统功能。

(2)、运行PowerDesigner创建概念数据模型转换成逻辑数据模型,建立实体、属性和联系。

对关键字、空值、域完整性等做出必要的描述,根据实际情况确定联系的类型。

(3)、将检查无误的概念数据类型转换成逻辑数据模型,并对生成的逻辑数据模型作必要的修改。

(4)、选择一个实际的DBMS软件根据逻辑数据模型生成物理数据模型,并对生成的物理数据模型作必要的修改。

实验数据、结果分析、总结问题:(1)学生选课系统扥E-R图(2)概念数据模型图如下(3)逻辑数据模型图如下(4)物理数据模型图如下(5)系统生成的代码为:if exists(select 1 from sys.sysforeignkey where role='FK_教授课程_RELATIONS_学生') thenalter table 教授课程delete foreign key FK_教授课程_RELATIONS_学生end if;if exists(select 1 from sys.sysforeignkey where role='FK_教授课程_RELATIONS_教师') thenalter table 教授课程delete foreign key FK_教授课程_RELATIONS_教师end if;if exists(select 1 from sys.sysforeignkey where role='FK_负责课程_RELATIONS_课程') thenalter table 负责课程delete foreign key FK_负责课程_RELATIONS_课程end if;if exists(select 1 from sys.sysforeignkey where role='FK_负责课程_RELATIONS_教师') thenalter table 负责课程delete foreign key FK_负责课程_RELATIONS_教师if exists(select 1 from sys.sysforeignkey where role='FK_选修课程_RELATIONS_学生') thenalter table 选修课程delete foreign key FK_选修课程_RELATIONS_学生end if;if exists(select 1 from sys.sysforeignkey where role='FK_选修课程_RELATIONS_课程') thenalter table 选修课程delete foreign key FK_选修课程_RELATIONS_课程end if;if exists(select 1 from sys.systablewhere table_name='学生'and table_type in ('BASE', 'GBL TEMP')) thendrop table 学生end if;if exists(select 1 from sys.systablewhere table_name='教师'and table_type in ('BASE', 'GBL TEMP')) thendrop table 教师end if;if exists(select 1 from sys.systablewhere table_name='教授课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 教授课程end if;if exists(select 1 from sys.systablewhere table_name='课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 课程if exists(select 1 from sys.systablewhere table_name='负责课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 负责课程end if;if exists(select 1 from sys.systablewhere table_name='选修课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 选修课程end if;create table 学生(学号 char(8) not null, 院系 smallint null,姓名 char(10) null,性别 char(2) null,生源 char(6) null,状态 char(4) null,constraint PK_学生 primary key (学号));create table 教师(教师编号 char(8) not null, 院系 smallint null,姓名 char(10) null,性别 char(2) null,职称 char(6) null,专业 char(10) null,constraint PK_教师 primary key (教师编号));create table 教授课程(教师编号 char(8) not null, 学号 char(8) not null,constraint PK_教授课程 primary key (教师编号, 学号));create table 课程(课程编号 char(8) not null, 课程名称 char(20) null,责任教师 char(8) null,学时 smallint null,课程性质 char(10) null,constraint PK_课程 primary key (课程编号));create table 负责课程(教师编号 char(8) not null, 课程编号 char(8) not null, constraint PK_负责课程 primary key (教师编号, 课程编号));create table 选修课程(课程编号 char(8) not null, 学号 char(8) not null, 成绩 smallint null,constraint PK_选修课程 primary key (课程编号, 学号));alter table 教授课程add constraint FK_教授课程_RELATIONS_学生 foreign key (学号)references 学生 (学号)on update restricton delete restrict;alter table 教授课程add constraint FK_教授课程_RELATIONS_教师 foreign key (教师编号) references 教师 (教师编号)on update restricton delete restrict;alter table 负责课程add constraint FK_负责课程_RELATIONS_课程 foreign key (课程编号) references 课程 (课程编号)on update restricton delete restrict;alter table 负责课程add constraint FK_负责课程_RELATIONS_教师 foreign key (教师编号) references 教师 (教师编号)on update restricton delete restrict;alter table 选修课程add constraint FK_选修课程_RELATIONS_学生 foreign key (学号)references 学生 (学号)on update restricton delete restrict;alter table 选修课程add constraint FK_选修课程_RELATIONS_课程 foreign key (课程编号) references 课程 (课程编号)on update restricton delete restrict;实验数据、结果分析、总结问题:运用PowerDesigner程序添加实体,并建立实体之间的联系。

相关文档
最新文档