数据库设计报告1 数据库需求分析本数据库旨在管理个人简历信息包括姓名、性别、出生日期、身份证号、电话、邮箱等信息。要求能够对这些信息进行增删改查操作并保证数据的完整性和安全性。2 数据库设计21 数据库概念结构设计通过分析需求我们可以确定两个实体:人员和联系方式。人员实体包括姓名、性别、出生日期、身份证号等属性;联系方式实体包括电话和邮箱两个属性。两个实体之间是一对多的关系即一个人员可以有多个联系
数据库设计报告
摘要
本文旨在设计一个个人简历信息管理系统的数据库,并通过SQL Server实现其设计和实现过程。本数据库包括两个实体:人员和联系方式,其中人员实体包括姓名、性别、出生日期、身份证号等属性;联系方式实体包括电话和邮箱两个属性。两个实体之间是一对多的关系,即一个人员可以有多个联系方式。为保证数据的完整性和安全性,我们在数据库中设置主键、外键、唯一约束、默认值约束、检查约束和自动编号的标识列等,并对数据库进行备份和权限管理。
关键词:个人简历;数据库设计;SQL Server;数据完整性;数据安全性;权限管理
- 数据库需求分析
 
随着互联网的普及,越来越多的人开始通过网络来发布和搜索工作信息。而在求职过程中,个人简历是必不可少的一部分。因此,设计一个可以管理个人简历信息的数据库是很有必要的。本数据库旨在管理个人简历信息,包括姓名、性别、出生日期、身份证号、电话、邮箱等信息。要求能够对这些信息进行增删改查操作,并保证数据的完整性和安全性。
- 数据库设计
 
2.1 数据库概念结构设计
通过分析需求,我们可以确定两个实体:人员和联系方式。人员实体包括姓名、性别、出生日期、身份证号等属性;联系方式实体包括电话和邮箱两个属性。两个实体之间是一对多的关系,即一个人员可以有多个联系方式。
2.2 数据库逻辑结构设计
根据概念结构设计,我们可以将人员实体和联系方式实体转换为关系模式。其中人员实体对应的关系模式为:
人员(id, name, gender, birthdate, id_number)
其中id为主键,name、gender、birthdate和id_number为属性。
联系方式实体对应的关系模式为:
联系方式(id, phone, email)
其中id为主键,phone和email为属性。
2.3 数据库物理结构设计
在SQL Server中创建数据库,命名为“DB_学号”。然后根据逻辑结构设计,创建两个数据表:人员表和联系方式表。具体的SQL代码如下:
-- 创建人员表 CREATE TABLE dbo.person ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, gender VARCHAR(10) NOT NULL, birthdate DATE NOT NULL, id_number VARCHAR(18) NOT NULL );
-- 创建联系方式表 CREATE TABLE dbo.contact ( id INT PRIMARY KEY, phone VARCHAR(20), email VARCHAR(50) );
- 数据库维护
 
为保证数据的完整性,我们需要在数据库中设置主键、外键、唯一约束、默认值约束、检查约束和自动编号的标识列等。具体的SQL代码如下:
-- 设置主键 ALTER TABLE dbo.person ADD CONSTRAINT PK_person PRIMARY KEY (id); ALTER TABLE dbo.contact ADD CONSTRAINT PK_contact PRIMARY KEY (id);
-- 设置自动编号 ALTER TABLE dbo.person ADD CONSTRAINT DF_person_id DEFAULT (NEXT VALUE FOR seq_person_id) FOR id; ALTER TABLE dbo.contact ADD CONSTRAINT DF_contact_id DEFAULT (NEXT VALUE FOR seq_contact_id) FOR id;
-- 设置唯一约束 ALTER TABLE dbo.person ADD CONSTRAINT UQ_person_id_number UNIQUE (id_number);
-- 设置外键 ALTER TABLE dbo.contact ADD CONSTRAINT FK_contact_person FOREIGN KEY (id) REFERENCES dbo.person (id);
-- 设置检查约束 ALTER TABLE dbo.person ADD CONSTRAINT CK_person_gender CHECK (gender IN ('男', '女'));
- 数据库备份
 
为保证数据的安全性,我们需要对数据库进行备份。具体的备份过程如下图所示:
- 数据库操作
 
通过DML语句,我们可以对数据库进行增删改查操作。具体的操作如下:
-- 插入数据 INSERT INTO dbo.person (id, name, gender, birthdate, id_number) VALUES (1003, '本紫', '男', '1990-01-01', '410211199901011234'); INSERT INTO dbo.person (id, name, gender, birthdate, id_number) VALUES (1004, '李兰', '女', '1987-12-12', '320602198712121234'); INSERT INTO dbo.person (id, name, gender, birthdate, id_number) VALUES (1005, '易祺瑞', '男', '1985-11-11', '440308198511111234'); INSERT INTO dbo.person (id, name, gender, birthdate, id_number) VALUES (1006, '周笑临', '男', '1978-12-09', '530112197812091234'); INSERT INTO dbo.person (id, name, gender, birthdate, id_number) VALUES (1007, '余囡', '女', '1966-03-30', '620402196603301234'); INSERT INTO dbo.contact (id, phone, email) VALUES (1003, '521', 'sutt@qq.com'); INSERT INTO dbo.contact (id, phone, email) VALUES (1004, '520', 'syt@qq.com'); INSERT INTO dbo.contact (id, phone, email) VALUES (1005, '519', 'sew@qq.com'); INSERT INTO dbo.contact (id, phone, email) VALUES (1006, '518', 'yut@qq.com'); INSERT INTO dbo.contact (id, phone, email) VALUES (1007, '517', 'yyuyu''yyuyyuy@qq.com');
-- 查询数据 SELECT * FROM dbo.person; SELECT * FROM dbo.contact;
-- 修改数据 UPDATE dbo.person SET name = '本紫紫' WHERE id = 1003; UPDATE dbo.contact SET phone = '123456' WHERE id = 1003;
-- 删除数据 DELETE FROM dbo.contact WHERE id = 1003; DELETE FROM dbo.person WHERE id = 1003;
- 存储过程
 
我们可以使用SQL语言创建存储过程,并在JAVA代码中对其进行调用。具体的存储过程如下:
-- 创建存储过程 CREATE PROCEDURE dbo.get_person_by_id (@id INT) AS BEGIN SELECT * FROM dbo.person WHERE id = @id; END;
-- 调用存储过程 EXEC dbo.get_person_by_id @id = 1004;
- 触发器
 
我们可以使用SQL语言创建触发器,并在程序运行过程中触发使其执行。具体的触发器如下:
-- 创建触发器 CREATE TRIGGER trg_person_insert ON dbo.person AFTER INSERT AS BEGIN INSERT INTO dbo.contact (id, phone, email) VALUES (INSERTED.id, '', ''); END;
-- 触发触发器 INSERT INTO dbo.person (id, name, gender, birthdate, id_number) VALUES (1008, '张三', '男', '1990-01-01', '410211199901011235');
- 数据库安全
 
为保证数据库的安全性,我们需要在SQL Server中创建SQL Server身份验证的登录名“SQLUser01”,密码为“abc@123”,默认数据库为我们自己创建的这个数据库。具体的SQL代码如下:
-- 创建登录名 CREATE LOGIN SQLUser01 WITH PASSWORD = 'abc@123', DEFAULT_DATABASE = DB_学号;
然后我们需要在本数据库中创建1个SQL Server身份验证的数据库用户账户“db_user01”,并将其映射到登录名“SQLUser01”。具体的SQL代码如下:
-- 创建数据库用户 CREATE USER db_user01 FOR LOGIN SQLUser01;
最后,我们需要创建自定义角色“role01”,并且将数据库用户“db_user01”添加为该自定义角色的成员,然后为该角色授予相应的权限。具体的SQL代码如下:
-- 创建自定义角色 CREATE ROLE role01;
-- 将用户添加到角色中 EXEC sp_addrolemember 'role01', 'db_user01';
-- 授予权限 GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.person TO role01; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.contact TO role01;
最后,我们可以从角色“role1”收回部分权限。具体的SQL代码如下:
-- 收回权限 REVOKE DELETE ON dbo.contact FROM role01;
以上就是本数据库的设计和实现过程。通过以上步骤,我们可以创建一个完整的个人简历数据库,并保证其数据的完整性和安全性
原文地址: https://www.cveoy.top/t/topic/g3lp 著作权归作者所有。请勿转载和采集!