数据库实验报告
- 格式:doc
- 大小:408.00 KB
- 文档页数:23
《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。
本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用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语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。
数据库技术与应用实验报告一、实验目的本次实验的主要目的是深入了解数据库技术的基本原理和应用,通过实际操作掌握数据库的创建、管理、数据操作以及查询优化等方面的技能。
同时,培养解决实际问题的能力,提高对数据库系统的综合运用水平。
二、实验环境本次实验使用的软件环境为 MySQL 数据库管理系统,操作系统为Windows 10。
三、实验内容与步骤(一)数据库创建1、打开 MySQL 客户端,使用以下命令创建数据库:```sqlCREATE DATABASE database_name;```其中,`database_name` 为自定义的数据库名称。
2、使用以下命令选择创建的数据库:```sqlUSE database_name;```(二)表的创建1、根据实验要求,设计表结构,包括字段名、数据类型、约束条件等。
例如,创建一个名为`students` 的表,包含`id`(整数类型,主键)、`name`(字符串类型)、`age`(整数类型)字段,使用以下命令:```sqlCREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT);```(三)数据插入1、使用`INSERT INTO` 语句向表中插入数据。
例如,向`students` 表中插入一条记录:```sqlINSERT INTO students (id, name, age) VALUES (1, '张三', 20);```(四)数据查询1、使用`SELECT` 语句进行简单查询,获取表中的数据。
例如,查询`students` 表中所有记录:```sqlSELECT FROM students;```2、使用条件查询,获取符合特定条件的数据。
例如,查询年龄大于 18 岁的学生记录:```sqlSELECT FROM students WHERE age > 18;```(五)数据更新1、使用`UPDATE` 语句更新表中的数据。
实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。
实验内容:具体包括如下三部分。
一、熟悉上机环境。
客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。
具体包括:1.了解SQL Server 环境。
鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。
点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。
因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。
2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。
如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。
3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。
二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。
1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。
数据库系统实验课实验报告一、实验目的数据库系统实验课是一门重要的实践课程,旨在通过实际操作和实验,深入理解数据库系统的原理和应用,提高我们的数据库设计、管理和应用开发能力。
本次实验的具体目的包括: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. 能够运用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. 掌握数据库的创建、修改和删除操作。
3. 熟悉数据库中表、视图、索引、存储过程等对象的创建和使用。
4. 培养实际操作数据库的能力,提高数据库应用水平。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库的基本操作2. 表的创建、修改和删除3. 视图的创建和使用4. 索引的创建和使用5. 存储过程的创建和使用四、实验步骤1. 数据库的基本操作(1)创建数据库打开MySQL Workbench,连接到本地MySQL服务器。
在“对象浏览器”中,右键点击“数据库”,选择“创建数据库”。
在弹出的对话框中,输入数据库名称(如:test_db),点击“创建”按钮。
(2)删除数据库在“对象浏览器”中,右键点击要删除的数据库,选择“删除数据库”。
在弹出的对话框中,点击“确定”按钮。
2. 表的创建、修改和删除(1)创建表在“对象浏览器”中,右键点击“表”,选择“创建表”。
在弹出的对话框中,输入表名(如:students),然后定义表中的列和类型。
例如:```id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT NOT NULL,class VARCHAR(50) NOT NULL```点击“保存”按钮,创建成功。
(2)修改表在“对象浏览器”中,右键点击要修改的表,选择“修改表”。
在弹出的对话框中,可以对表中的列进行添加、删除、修改等操作。
(3)删除表在“对象浏览器”中,右键点击要删除的表,选择“删除表”。
在弹出的对话框中,点击“确定”按钮。
3. 视图的创建和使用(1)创建视图在“对象浏览器”中,右键点击“视图”,选择“创建视图”。
在弹出的对话框中,输入视图名称(如:view_students),然后编写SQL查询语句。
数据库实验报告姓名学号目录一.实验标题:2二.实验目的:2三.实验内容:2四.上机软件:3五.实验步骤:3(一)SQL Server 2016简介3(二)创建数据库 4(三)创建数据库表 7(四)添加数据17六.分析与讨论: 19一.实验标题:创建数据库和数据表二.实验目的:1.理解数据库、数据表、约束等相关概念;2.掌握创建数据库的T-SQL命令;3.掌握创建和修改数据表的T-SQL命令;4.掌握创建数据表中约束的T-SQL命令和方法;5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容:1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;4.添加具体数据;四.上机软件:SQL Server 2016五.实验步骤:(一)SQL Server 2016简介1.SQL Server 2016的界面2.启动和退出SQL Server 20161)双击图标,即出现SQL Server2016的初始界2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可注意事项:1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存,2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作(二)创建数据库方法一:1.点击“新建查询”,出现如下对话框2.在空白区域输入创建数据库“学生选课”的代码命令,点击“执行”3.消息框中出现“命令已成功完成”即表示数据库创建成功,在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”方法二:1.右击数据库,在弹出的快捷菜单中选择“新建”2.在弹出的对话框中输入“学生选课”3. 在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”注意事项:数据库名称在服务器中必须唯一,并且符合标识符的规则(三)创建数据库表1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表2.建立成功后的表格如图所示注意事项:1.T-SQL中创建数据库表的指令格式为:Create table 表名(字段名1 数据类型{identify | not null | null},字段名2 数据类型{identify | not null | null},……)null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略not null表示该字段的值不能为空值identify称为计数器,表示该字段的值是一组递增的证书数据。
数据库视图实验报告一、实验目的本次实验的主要目的是深入理解数据库视图的概念、特点和用途,并通过实际操作掌握如何创建、修改和使用视图来优化数据库的查询和管理。
二、实验环境本次实验使用的数据库管理系统为 MySQL 80,操作系统为Windows 10。
三、实验原理1、视图的定义视图是一种虚拟表,它是从一个或多个基本表(或视图)导出的表。
视图本身并不包含数据,而是根据定义从基本表中动态获取数据。
2、视图的优点提供数据的逻辑独立性:当基本表的结构发生变化时,只要视图的定义不变,用户通过视图所得到的数据仍然是一致的。
简化数据查询和操作:可以将复杂的查询定义为视图,使用户能够更方便地获取所需的数据。
增强数据安全性:可以通过视图限制用户对敏感数据的访问,只展示用户有权查看的部分数据。
四、实验内容与步骤1、创建视图使用以下语句创建一个名为`student_info_view` 的视图,该视图包含学生表`students` 中的学号、姓名、年龄和专业信息:```sqlCREATE VIEW student_info_view ASSELECT student_id, student_name, age, majorFROM students;```2、查询视图通过以下语句查询创建的视图:```sqlSELECT FROM student_info_view;```3、修改视图修改视图的定义,增加一个成绩列`grade` ,语句如下:```sqlALTER VIEW student_info_view ASSELECT student_id, student_name, age, major, gradeFROM students;```4、删除视图使用以下语句删除视图:```sqlDROP VIEW student_info_view;```五、实验结果与分析1、创建视图成功后,通过查询视图能够获取到预期的学生信息,证明视图的定义和数据提取是正确的。
数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。
4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。
实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。
2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。
3)⽤T-SQL语句删除数据库CPXS_bak。
2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。
3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。
6.将CP表中每种商品的价格打8折。
7.将CP表中价格打9折后⼩于1500的商品删除。
⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。
)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
实验六数据库原理综合实验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图。
数据库系统原理课程设计报告题目名称:Miracle工资管理系统班级:计103-1组长学号:姓名:成绩:组员学号:姓名:成绩:组员学号:姓名:成绩:组员学号:姓名:成绩:组员学号:姓名:成绩:组员学号:姓名:成绩:组员学号:姓名:成绩:2012年7月5日第一章引言1.1 选题的依据及课题的意义随着计算机技术的普及,数据信息处理技术得到了空前发展,人们处理大量数据的能力越来越强,大量以前必需由人工处理的工作现在都可以由计算机代劳。
早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。
早期工资管理多采取纸质材料和具有较强的时间限制。
基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。
1.2程序基本概况本程序为一个基本的工资管理系统,系统中对公司员工的工资情况进行管理。
本系统通过管理员实现了对员工工龄工资、职务工资、出勤奖惩和津贴等项目的统计与管理,以及对职务、出勤、津贴等项目的增添与修改,普通用户可以使用本系统查询自己的各项工资情况。
系统界面简洁有条,操作方便,基本满足了普通公司对员工工资的管理需求。
1.3 项目开发背景及信息系统目标随着经济不断的发展,公司迅速发展,业务不断扩大,人员增加,迫切需要一套完整的、行之有效的人员工资管理系统对公司员工的各项工资内容进行管理。
本系统应当实现以下功能:对各部门员工职务、工龄、出勤情况、津贴情况进行有效的统计。
将各员工的各项基本情况转换为工资信息。
对各项工资信息进行汇总,统计计算出总工资。
允许本公司员工对个人工资进行查询,实现管理员对员工信息的管理。
第二章系统分析2.1 可行性分析技术方面,本系统使用JA V A语言编写,实现方便,界面干净整洁,方便使用;利用MySql数据库对数据进行存储和处理,实现数据的共享,保证了系统的稳定性和安全性。
经济方面,支出方面,引进本系统需支付设备购置费、软件开发费、管理维护费、员工工资和培训费等;使用本系统节省了大量的书面报告,提高了办公效率,降低了办公费用,相对于前期投入,后期收益更为可观。
2.2 项目开发计划2.2.1目标:⑴实现月工资计算和打印输出相应的工资表格;⑵实现与工资管理有关的档案管理。
⑶提高工资管理工作效率,降低出错率。
2.2.2 功能要求:㈠档案管理1.保存有关工资计算以及工资管理所必须的数据2.能对各种数据进行插入、修改、删除等操作3.能对数据进行查询、统计㈡工资计算1.正确计算出个人月工资、部门月工资以及全厂月工资。
2.能对病假扣款系数进行修正。
3.能打印输出工资计算表、个人工资单、部门工资单、工资汇总表四种表格。
2.2.3 数据要求:每个职工的各种数据分为三类:1.职工的代号、姓名、性别、出生日期、参加工作日期、所属部门、人员类别、工种职别、技术等级、技术职称、文化程度、民族、籍贯、现住址。
2.职工的基本工资、岗位津贴、物价补贴、职务津贴、住房补贴、房租。
3.职工的出勤日数、公伤日数、产假日数、病假日数、旷工日数、事假日数、加班日数、夜班日数、病假系数。
工资单数据:本月基本工资、岗位津贴、物价补贴、职务津贴、住房补贴、加班费、夜班费、房租、病假扣款、事假扣款、旷工扣款、其它扣款、实发工资。
根据开发计划、软硬件情况、人员配置情况,将员工工资管理系统的项目开发进度分为系统分析、需求分析、概要分析、详细设计、系统实施、系统维护六个阶段,具体进度安排如下:第三章分析与设计3.1 系统分析根据该企业的业务情况及实现目标,系统功能模块图如图3.1所示:图3.1 系统功能模块在这次系统开发中我主要完成的部分是工资管理和设置方面。
开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。
能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。
系统最终实现的主要功能如下:·企业工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如津贴等。
并且负责设置员工工资的计算公式。
图3.2 工资信息设置模块·企业工资信息管理部分:包括统计出勤、计算工资、查询工资和导出工资表。
图3.3 工资信息管理模块·系统部分:包括添加用户和修改密码。
图3.4 系统模块3.2 数据库设计数据库设计是开发数据库及其应用系统的技术,也是信息系统开发和建设的重要组成部分。
具体的说,数据库设计是要在一个给定的应用环境中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式,建立数据库及其应用系统,满足用户的各种信息需求。
3.2.1 实体描述本系统中所涉及的实体有9个,其结构如下:员工(编号,姓名,性别,出生日期,文化背景,民族,家乡,家庭住址)部门(编号,名称)工龄(工龄,对应工资)职务(职务级别,对应工资)津贴类别(编号,名称,薪水)出勤类别(编号,名称,系数)基本工资(员工,工龄,职务,基本工资)实际工资(员工,实际工资)用户(用户名,密码,权限)3.2.2 联系描述本系统中实体之间有3个联系,其关系如下:(1)员工—部门的所属关系:部门与员工是1:N的关系,一个部门有多个员工,但一个员工只属于一个部门;(2)员工—出勤:员工与出勤是M:N的关系,一个员工可以有多种出勤情况,一种出勤情况可以对应多个员工;(3)员工—津贴:员工与津贴是M:N的关系,一个员工可以有多种津贴情况,一种津贴情况可以对应多个员工;以上实体的联系属性如下:员工—部门(员工,部门)员工—出勤(员工,出勤,出勤天数)员工—津贴(员工,津贴)3.2.3 E-R图本系统的E-R图如图3.5 所示:图3.5 E-R图3.2.4 存储过程设计存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
在我们的项目中,在添加工龄工资信息与职务工资信息中运用了存储过程,如果高级语言中函数调用一样,我们定义了5个参数,4个是输入参数,1个为输出参数,在判断向哪个表插入数据时,我们根据前两个参数来判断,然后根据输出参数的取值来查看操作是否成功。
3.2.5触发器的设计触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。
触发器经常用于加强数据的完整性约束和业务规则等。
触发器可以从DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。
在我们的项目中我们在删除职员信息时用到了触发器,我们的表设计中empandrsal、empandjintie 、DepAndEmp 、EmpAndPre 、EmpAndSal用引用了employees中的No 属性,作为每个表的外键约束,当我们在删除employees表时就违反参照完整性的约束,必须把这些表中相应的元组也给删除,出于以上目的,我们把在删除外键约束定义成了一个触发器,根据employees中No的值来把相应表中的数据删除。
第四章系统实现4.1 数据库的实现4.1.1表定义(2)部门(department)(3)工龄(SalAndTime)(4)职务(SalAndTech)(5)津贴类别(jintie)(6)出勤类别(presence)(7)基本工资(EmpAndSal)(8)实际工资(EmpAndRSal)(9)用户(user1)(10)员工—部门(DepAndEmp)(11)员工—出勤(EmpAndPre)(12)员工—津贴(EmpAndJintie)4.1.2触发器与存储过程的实现//触发器drop trigger if exists del_onemployees;delimiter $create trigger del_onemployeesbefore delete on employeesfor each ROWbegindelete from empandrsal where emp_rsalEmpNo =old.emp_No; delete from empandjintie where emp_jinEmpNo=old.emp_No; delete from DepAndEmp where dep_empEmpNo=old.emp_No; delete from EmpAndPre where emp_preEmpNo=old.emp_No; delete from EmpAndSal where emp_salEmpNO=old.emp_No; end $//存储过程delimiter $create procedure insert_data( in sat int, in sate int,in jb int,in chb double precision,out sb int) beginset sb = 1;beginif (sat =1) then insert into SalAndTime values(jb,chb);elseif (sate=1) then insert into SalAndTech values(jb,chb);end if;end;set sb = 0;end $4.2 程序流程图程序流程图又称为程序框图,表示方法简单直观,是最早使用的一种模念模式,是用来描述处理执行的逻辑过程的,它把程序的基本步骤归纳为:处理、判断、输入输出、起始和终结等几个基本功能,并用不同的记号加以表示,从而描述程序的执行过程。
在绘制程序流程图时使用的符号说明如下:处理输入输出判断起始终止控制方向图 4.14.3 人机界面设计用户界面是指软件系统和用户交互的接口,良好的用户界面往往可以提高用户使用系统的热情,并刺激他们的积极性。
4.3.1 登录界面设计为了保证系统的安全性,进入系统之前必须经过必要的安全性,简洁、清晰、友好是此设计的风格,如图4.2所示:图 4.24.3.2系统基本信息界面设计输入正确的用户名和密码后,即进入系统。
系统的基本操作界面如图4.3所示:图4.3系统基本操作界面主要包括修改信息、添加信息、显示信息、统计信息、修改信息几个功能模块。
图 4.4 4.3.4 添加界面(员工信息)图 4.5 4.3.5 显示信息(员工信息)图 4.6图4.7第五章小结ASDFASF:在这次数据库设计中,我遇到的主要问题有以下几个方面:1.Swing局部刷新时的问题,有时新的数据不能在组件上显示2.连接数据库时多个Connection没有关闭导致的取到错误的数据问题3.程序的健壮性,有些错误的情况不能以友好的方式提醒用户总结:在以后的设计中重视前期需求分析,分清模块功能。