实验一_数据库建模工具的使用
- 格式:doc
- 大小:352.00 KB
- 文档页数:9
《数据库建模技术》实验报告VCD租售连锁店管理系统的数据库设计班级:114030602学号:***********姓名:**2016年6月28日“数据库建模技术”实验需求文字根据以下开发VCD出售租借连锁店管理系统需求调查文字,完成实验一至实验五。
市内某家大型VCD出售租借连锁店有许多员工,每个员工只能服务于一家租借店;每个员工有工号、姓名、性别、年龄、政治面貌等属性;每家店日常工作主要有:租借、归还、逾期罚款等(租借人首先要办理租借卡,租借卡分为年卡、月卡和零租卡)。
具体操作流程如下:(1)出售租借:根据购买人或租借人提供的VCD租借单,查阅库存,如果有,则办理销售或租借并登记销售(记录销售记录单号、购买人卡号、购买日期、VCD编码、数量、单价,经办员工号)或租借流水帐(记录租借记录单号、租借人卡号、租借日期、VCD 编码、数量、归还日期,经办员工号);如果没有相应的VCD ,则可根据购买人或租借人的要求办理预约登记(记录预约登记单号、购买或租借卡卡号、VCD编码、数量、经办员工号),当有VCD时,及时通知购买人或租借人。
(2)归还:根据租借人提供的所还VCD,检查VCD是否完好,如果完好,则办理归还登记(记录归还单号、租借人卡号、归还日期、VCD编码、数量、经办员工号),如果有损坏的VCD,办理赔偿登记(记录赔偿单号、租借卡卡号、赔偿日期、赔偿VCD编码、数量、金额,经办员工号),并把赔偿通知单通知给租借人。
(3)逾期罚款通知:查询逾期未还的VCD,及时通知租借人,并进行相应的罚款登记(记录罚款单号、租借卡卡号、罚款日期、罚款金额、经办员工号)。
实验一需求分析(一)——业务流程调查一、实验目的:掌握需求分析的步骤和业务流程调查的方法;掌握应用Powerbuilder绘制BPM模型二、学时:6H(课内4H,课外2H)三、实验软件平台:Windows 2k或Windows XP, Powerduilder9.5,Visio四、实验内容:根据该VCD连锁店的业务需求调查文字,利用PD绘制该VCD连锁店管理系统的BPM模型。
数据库建模工具的说明书1. 简介数据库建模工具是一种专业的软件工具,用于创建和管理数据库模型。
它提供了一系列功能,帮助用户通过图形界面或者命令行接口进行数据库建模和设计,从而提高开发效率和数据管理的质量。
本说明书将介绍数据库建模工具的基本使用方法和核心功能。
2. 安装与配置2.1 安装在使用数据库建模工具之前,首先需要将该软件安装到计算机上。
请按照安装向导提供的步骤进行安装,选择安装路径、设置相关参数并完成安装过程。
建议在安装之前备份您的计算机数据,以避免意外数据丢失。
2.2 配置安装完成后,您需要进行一些基本配置来适应您的具体需求。
例如,指定数据库连接的参数、设置默认的文件保存路径、选择合适的语言等。
这些配置选项通常可以在软件的设置或者选项菜单中找到。
根据您的使用习惯和实际需求进行个性化配置。
3. 创建新的数据库模型数据库建模工具允许您创建新的数据库模型用于存储和管理数据。
以下是创建新模型的步骤:3.1 打开软件双击数据库建模工具的图标,等待软件初始化并加载。
在载入完成后,您将看到一个空白的工作区域。
3.2 创建模型点击菜单栏或工具栏上的“新建模型”按钮(具体名称可能因软件版本而异),系统将弹出一个对话框,请在对话框中输入模型的名称和描述等信息。
确认输入无误后,单击“确定”。
3.3 设计模型在创建模型后,您将进入模型设计阶段。
根据您的具体需求,可以使用数据库建模工具提供的图形界面进行表、字段、关联等元素的设计和编辑。
您可以直接拖动和放置表格、字段等元素,并设置其属性、类型和约束等。
3.4 保存模型设计完毕后,为了避免数据丢失或者修改的意外损失,建议将模型保存在合适的位置。
点击菜单栏或工具栏上的“保存”按钮,选择一个目录并指定名称进行保存。
4. 导入和导出模型除了创建新模型,数据库建模工具还允许您导入和导出已有的数据库模型,以方便您的协作和数据迁移。
以下是导入和导出模型的步骤:4.1 导入模型点击菜单栏或工具栏上的“导入”按钮,选择您需要导入的数据库模型文件,并点击“导入”按钮。
《信息系统分析与设计》实验报告学号姓名专业、班级软件工程1103 实验地点计—201 指导教师时间2014.10.27一、实验目的1) 了解系统分析和建模工具PowerDesigner的基本概念和操作界面。
2) 了解PowerDesigner的4个模型:业务处理模型 (BPM) 、概念数据模型 (CDM) 、物理数据模型 (PDM) 和面向对象模型 (OOM) 及其相互关系与作用。
3) 用PowerDesigner工具进行简单系统分析建模操作。
二、实验容1、绘制E-R图,并转换成PDM模型步骤1:启动PowerDesigner,进入PowerDesigner的操作主界面,如图1所示。
图1 PowerDesigner主界面步骤2:在File菜单中单击New…命令,或者单击New (新建) 按钮,屏幕进一步显示如图2所示。
图2 新建项目选择在Model type (模型类型) 框中,可以看到:Business Process Model (BPM——业务处理模型) 、Conceptual Data Model (CDM——概念数据模型) 、Object-Oriented Model (OOM——面向对象模型) 和Physical Data Model (PDM——物理数据模型) 等选项。
在此,我们选择CDM并按“确定”按钮。
步骤3:进入PowerDesigner的CDM操作窗口,如图3所示。
图3 CDM操作窗口在窗口上方横向有一组工具按钮图标,其中有实体的边框、联线、字体加粗、加黑等图标,但最常用的工具图标在Palette工具栏中,包括实体、关系、放大、缩小、移动等26个图标工具。
读者用鼠标单击某个图标,再到界面中央单击 (例如,画实体框) ,或拖动 (例如,画实体关系联线) 即可。
比如,“图书信息系统”的E-R图有5个基本实体,所以,单击实体图标 (Entity) ,然后在操作界面中单击5下,得到5个实体框并适当布局,如图4所示。
实训一初识数据建模工具PowerDesigner应用
一.实训目的:
1.掌握PDM的建立方法和数据库的生成方法
二.实训准备
以“学生选课管理系统”为例
1.安装PowerDesigner15(建议破解版)
2.对学生选课管理系统进行需求分析
三.实训要求
掌握创建物理数据模型(PDM)的方法
四.实训内容
1.以“学生选课管理系统”的ER模型为例,建立该模型的
PDM Array 1).创建PDM
2).操作PDM
◆创建表
◆定义引用
◆创建索引
◆创建视图
生成数据库
2.设车间考核职工完成生产定额关系为W:
W(日期,工号,姓名,工种,定额,超额,车间,车间主任)
将W无损分解至3NF,给出各个关系模式,依次创建PDM模型,并将其转换为SQL Server的数据库脚本。
五.实训结果(结果分析)
六.实训心得
附:指导教师评语
实训报告成绩:指导教师(签字):
年月日。
《数据库原理》实验报告一、实验目的:1、使用Powderdesigner建模工具完成本实验。
2、完成下列表中所描述数据库的概念数据模型设计,对关键字、空值、域完整性等做出必要的描述,根据实际情况确定联系的类型。
3、依据所涉及的概念数据模型(CDM)生成相应的物理数据模型(PDM),可以对生成的物理数据模型作必要的修改。
4、生成建立数据库的目标代码。
二、实验使用环境:SQL server 2012、Powerdesigne:16.5三、实验内容与完成情况:1.创建概念模型客户与订购单是一对多的关系:一个客户可以有多个订购单,但是一个订购单只能属于一个客户订购单与产品是多对多的关系:一个产品可以有多个订购单,一个订购单也可以包括多个产品内容2.属性数据类型客户表:产品表:订购单表:3.概念模型转换为物理模型由于客户与订购单是一对多的关系,所以客户的主键(客户号)存在于订购单中做外键,加入订单日期由于订购单与产品是多对多的关系,所以订购单的主键(订单号)和产品的主键(产品号)存在于两者的关系订单明细中作为主键和外键,另外加入序号和数量作为4.约束条件客户号:前两个字符为字母客户名称:不允许为空值:邮政编码:6位数字字符电话:数字字符电子邮箱:包含@字符产品号:前两个字符为字母产品名称:值唯一单价:>0客户号:不允许空值订购日期:默认是系统时间序号:自增1,初值15.生成数据库脚本得到商店.sql 脚本,见附件新建数据库测试结果:连接数据源导入数据库:数据库中可看到:数据库关系图:逆向工程数据库导入:先按照上述操作连接SQL SERVER与PowerDensigner,并建立物理模型:教学管理开始导入:成功导入:且数据类型等保持一致:BBS.sql导入:新建物理模型:教学管理选择通过脚本导入导入结果:讲BBS.sql在SQL里运行,产生关系图:两表相同,表示导入成功。
产生报表:报表的作用:在工程较大时,PD中看到的较复杂,但是报表能把复杂的展示简单化,条理清晰地进行表、图、约束等信息的检索查看,让数据更清晰的呈现。
实验一创建数据库和表以及表操作一、实验目的1.了解SQL Server数据库的逻辑结构和物理结构,表的结构特点;2.了解SQL Server的基本数据类型,空值概念;3.学会在企业管理器中创建数据库和表;4.学会使用T—SQL语句创建数据库和表;5.学会在企业管理器中对数据表进行插入、修改、删除数据操作;6.学会使用T-SQL对数据表进行插入、修改、删除数据操作;二、实验内容1.实验题目(1)创建用于企业管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息以及员工的薪水信息。
数据库YGGL包含下列3个表。
(1)Employees:员工自然信息表。
(2)Departments:部门信息表。
(3)Salary:员工薪水情况表。
各表的结构分别如表T2.1,表T2.2,表T2.3所示。
表T2.1 Employees表结构表T2.2 Departments表结构实验步骤1.在企业管理器中创建数据库YGGL要求:数据库YGGL初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。
数据库的逻辑文件名和物理文件名均采用默认值,分别为 YGGL_data 和e:\sql\data\MSSQL\Data\YGGL.mdf,其中e:\sql\data\MSSQL为SQL Server 的系统安装目录;事务日志的逻辑文件名和物理文件名也均采用默认值分别为YGGL—LOG 和 e:\sql\data\MSSQL\Data\YGGL_Log.1df。
以系统管理员Administrator是被授权使用CREATE DATABASE语句的用户登录SQL Server服务器,启动企业管理器一>在服务器上单击鼠标右键一>新建数据库一>输入数据库名“YGGL”一>选择“数据文件”选项卡一>设置增长方式和增长比例一>选择“事务口志”选项卡一设置增长方式和增长比例。
实验一.建模工具的使用实验目的1. 了解Visio 2003的作用,熟悉其工作界面。
2. 熟悉Visio 2003。
3. 掌握Oracle数据库实例的启动与关闭。
实验内容在进行数据库设计时,好的建模工具不但能帮助用户绘制图形,而且可以生成创建数据库的SQL代码。
甚至可以让建模工具和数据库建立连接,这样就可以随时通过更改实体及他们之间的关系来直接更改数据库结构了。
本课程使用Visio 2003作为建模工具,本次实验主要学习使用它进行绘图的方法。
一.Visio 2003的主窗口Visio 2003启动后,主窗口如下图1所示。
用户可以选择一种需要的绘图类型,就可进入如图示所示的工作界面。
图2中,主窗口左边给出的是当前绘图类型下可用的形状,窗口右部的就是图纸。
用户可以拖动形状到图纸上,可以添加连接线,可以添加文本,设置格式,来绘制需要的图形。
图1 V isio 2003主窗口图2 V isio 2003工作界面二.基本操作1.添加形状用鼠标将形状从左边拖到图纸上,即可添加形状。
2.确定形状位置用鼠标拖动形状,可改变其位置。
若要移动多个形状,可用鼠标拖动选定多个形状,或按住CTRL键,再逐个单击形状选定,再用鼠标拖动移动。
选中形状,用“形状”菜单中的“旋转或翻转”中的菜单命令,可旋转或翻转形状。
也可以鼠标拖动“旋转形状”控点,将形状旋转到任意角度。
3.添加文本和设置文本格式选择相应的形状,然后键入文本。
完成键入后,按Esc 键或者在文本块外单击。
选中形状或文本,选择“格式”工具栏中按钮,可以设置字体、字号、字形、颜色等格式,或者选择“格式”菜单中的“文本”,打开“文本”对话框进行设置。
4.设置形状格式选择要进行格式设置的一个或多个形状。
在“格式”菜单上,单击“文本”、“线条”、“填充”、“阴影”或“圆角”。
选择需要的格式设置选项。
5.连接形状单击“常用”工具栏中的“连接线工具”,然后单击要连接的一个形状,并按住鼠标左键不放拖到第二个形状上,即可连接两个形状。
实验-数据库建模实验数据库建模在当今数字化的时代,数据的重要性不言而喻。
数据库作为存储和管理数据的核心工具,其设计的优劣直接影响着系统的性能、可扩展性和维护成本。
数据库建模作为数据库设计的关键环节,是确保数据库能够高效、准确地满足业务需求的基础。
接下来,让我们一起深入探讨数据库建模的实验过程。
数据库建模的第一步是明确业务需求。
这就像是盖房子前要知道房子的用途和居住者的需求一样。
我们需要与业务部门进行充分的沟通,了解他们的业务流程、数据的产生和使用方式,以及对数据的安全性、完整性和一致性的要求。
例如,一个电商网站需要存储用户信息、商品信息、订单信息等,并且要能够快速查询商品的库存、用户的购买历史等。
只有清楚了这些需求,我们才能为后续的建模工作打下坚实的基础。
在明确了业务需求后,接下来就是概念建模。
概念建模是对现实世界中的业务概念进行抽象和简化,形成一个概念模型。
这个模型不涉及具体的数据库技术,而是用易于理解的图形和文字来描述业务实体、实体之间的关系以及业务规则。
常见的概念建模工具是 ER 图(Entity Relationship Diagram,实体关系图)。
在 ER 图中,我们用矩形表示实体,用菱形表示实体之间的关系,用线段连接实体和关系,并标注出关系的类型(一对一、一对多、多对多)。
比如,在电商网站的概念模型中,用户和订单就是两个实体,一个用户可以有多个订单,这就是一对多的关系。
完成概念建模后,就进入了逻辑建模阶段。
逻辑建模是将概念模型转换为具体的数据库逻辑模型,这个模型要考虑到数据库的实现技术和约束条件。
常见的逻辑模型有关系模型、层次模型和网状模型,其中关系模型是目前应用最广泛的。
在关系模型中,我们将概念模型中的实体转换为表,将实体之间的关系转换为表之间的关联。
同时,还要确定表的字段、数据类型、主键、外键等。
例如,用户表可能包含用户 ID(主键)、用户名、密码、电子邮件等字段;订单表可能包含订单 ID(主键)、用户 ID(外键)、订单日期、订单状态等字段。
《数据库原理》实验报告题目: 实验一 数据库建模工具的使用 学号:2010810072 成 绩班级:计算1013 日期:2012.11.8 姓名:罗忠霖 指导老师:林颖贤一、 实验目的:1、使用QDesigner 或其他建模工具完成本实验。
2、完成下列表中所描述数据库的概念数据模型设计,对关键字、空值、域完整性等做出必要的描述,根据实际情况确定联系的类型。
3、依据所涉及的概念数据模型生成相应的物理数据模型,可以对生成德物理数据模型作必要的修改。
4、生成建立数据库的目标代码。
二、 实验使用环境:SQL server 2005、powerdesigner 三、 实验内容与完成情况:1. 建立如下所示订单管理数据库中的4个表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性),2.要求在powerDesigner 下完成关系图,并将建好的关系图导入SQLServer 2005中新建的数据库(订单管理数据库)中,分析总结powerdesigner 工具中列的约束是如何设置的? 3. 将生成的关系图产生报表(Report )。
4.将四张表自动转换为ORACLEG10g 的SQL 代码,分析对比这两个DBMS在代码上有什么不同点。
各个表的具体描述如下:客户名表1-1 客户表 字段名 数据类型 主键 外键参照的表 取值说明 客户号 char(8) Yes第一个字符为字母 客户名称 varchar(40) 不允许为空值 联系人 char(8) 地址 varchar(40)邮政编码 char(6)6位数字字符 电话 char(12) 数字字符 电子邮箱 Varchar(50)包含@字符表1-2 产品表字段名数据类型主键外关键参照的表取值说明产品号char(8) Yes 前两个字符为字母值唯一产品名称varchar(40)规格说明char(40)单价smallmoney >0表1-3 订购单表字段名数据类型主键外键参照的表取值说明客户号char(8) Yes 客户不允许为空值订单号char(8) Yes订购日期Datetime 默认是系统日期表1-4 订单名细表字段名数据类型主键外键参照的表取值说明订单号char(8) Yes Yes 订购单序号Tinyint Yes产品号char(8) Yes 产品不允许为空值数量Smallint 正数Power designer上建好表:导入到SQL中:/*==============================================================*//* DBMS name: Microsoft SQL Server 2005 */ /* Created on: 2012-11-10 18:17:47 *//*==============================================================*/if exists(select 1from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type ='F') where r.fkeyid =object_id('订单明细表')and ='FK_订单明细表_REFERENCE_订购单表')alter table订单明细表drop constraint FK_订单明细表_REFERENCE_订购单表goif exists(select 1from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type ='F') where r.fkeyid =object_id('订单明细表')and ='FK_订单明细表_REFERENCE_产品表')alter table订单明细表drop constraint FK_订单明细表_REFERENCE_产品表goif exists(select 1from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type ='F') where r.fkeyid =object_id('订购单表')and ='FK_订购单表_REFERENCE_客户表')alter table订购单表drop constraint FK_订购单表_REFERENCE_客户表goif exists(select 1from sysobjectswhere id =object_id('产品表')and type='U')drop table产品表goif exists(select 1from sysobjectswhere id =object_id('客户表')and type='U')drop table客户表goif exists(select 1from sysobjectswhere id =object_id('订单明细表')and type='U')drop table订单明细表goif exists(select 1from sysobjectswhere id =object_id('订购单表')and type='U')drop table订购单表go/*=========================================================== ===*//* Table: 产品表*//*=========================================================== ===*/create table产品表(产品号char(8)not nullconstraint CKC_产品号_产品表check(产品号like'a-z, A-Z a-z, A-Z%'), 产品名称nvarchar(40)not null,规格说明char(40)null,单价smallmoney nullconstraint CKC_单价_产品表check(单价is null or(单价>0)), constraint PK_产品表primary key(产品号))go/*=========================================================== ===*//* Table: 客户表*//*=========================================================== ===*/create table客户表(客户号char(8)not nullconstraint CKC_客户号_客户表check(客户号like'A-Z,a-z%'), 客户名称nvarchar(40)nullconstraint CKC_客户名称_客户表check(客户名称is null or(客户名称is not null)),联系人char(8)null,地址nvarchar(40)null,邮政编码char(6)nullconstraint CKC_邮政编码_客户表check(邮政编码is null or(邮政编码like '[0-9] [0-9] [0-9] [ 0-9] [0-9] [0-9]')),电话char(12)nullconstraint CKC_电话_客户表check(电话is null or(电话like'[0-9] [ 0-9][ 0-9] [ 0-9] [ 0-9] [ 0-9] [ 0-9] [ 0-9] [ 0-9] [ 0-9] [ 0-9] [ 0-9] ')),电子邮箱varchar(50)nullconstraint CKC_电子邮箱_客户表check(电子邮箱is null or(电子邮箱like '%@%')),constraint PK_客户表primary key(客户号))go/*=========================================================== ===*//* Table: 订单明细表*/ /*=========================================================== ===*/create table订单明细表(订单号char(8)not null,序号tinyint not null,产品号char(8)nullconstraint CKC_产品号_订单明细表check(产品号is null or(产品号is not null)),数量smallint nullconstraint CKC_数量_订单明细表check(数量is null or(数量>0)), constraint PK_订单明细表primary key(订单号,序号))go/*=========================================================== ===*//* Table: 订购单表*/ /*=========================================================== ===*/create table订购单表(客户号char(8)nullconstraint CKC_客户号_订购单表check(客户号is null or(客户号is not null)),订单号char(8)not null,订购日期datetime null default getdate(), constraint PK_订购单表primary key(订单号))goalter table订单明细表add constraint FK_订单明细表_REFERENCE_订购单表foreign key(订单号) references订购单表(订单号)goalter table订单明细表add constraint FK_订单明细表_REFERENCE_产品表foreign key(产品号) references产品表(产品号)goalter table订购单表add constraint FK_订购单表_REFERENCE_客户表foreign key(客户号) references客户表(客户号)go四、出现的的问题及解决方案1.在这次的实验中出现了挺多问题的,刚开始对powerdesigner这款软件不是很熟悉,花了一些时间去掌握该软件的用法;2.创建表的时候要对其中的对象添加约束,尤其是给唯一性约束的时候出错了,我错在唯一性约束的时候用unique对它进行约束;解决方法是在属性窗口的Keys选项卡中添加一行数据,不能将右边的“P”列选上,双击该行数据,在弹出的窗口中选择“Columns”选项,单击图标,在弹出的窗口中选择你要建唯一性的列名;点击确定就可以了。