用SQL语句设计学生宿舍管理系统设计建立SQL表代码包括建立宿舍管理系统数据库 包括·宿舍基本信息表 ,专业基本信息表 ,学生基本信息表 ,住宿费用表 ,物品卫生信息管理表和学生信息表:在学生表上建立触发器,记录被修改的信息。 并在学生表上建立视图,索引和触发器,记录被修改的信息。
时间: 2024-02-20 09:57:44 浏览: 68
好的,以下是一个基本的学生宿舍管理系统的SQL表设计:
```
-- 创建宿舍基本信息表
CREATE TABLE dormitory (
dorm_id INT PRIMARY KEY, -- 宿舍ID
dorm_name VARCHAR(50), -- 宿舍名称
building_no VARCHAR(10), -- 楼号
floor_no VARCHAR(10), -- 楼层
room_no VARCHAR(10), -- 房间号
bed_count INT -- 床位数
);
-- 创建专业基本信息表
CREATE TABLE major (
major_id INT PRIMARY KEY, -- 专业ID
major_name VARCHAR(50) -- 专业名称
);
-- 创建学生基本信息表
CREATE TABLE student (
student_id INT PRIMARY KEY, -- 学生ID
student_name VARCHAR(50), -- 学生姓名
gender VARCHAR(10), -- 性别
birthday DATE, -- 生日
major_id INT, -- 专业ID
dorm_id INT, -- 宿舍ID
FOREIGN KEY (major_id) REFERENCES major(major_id),
FOREIGN KEY (dorm_id) REFERENCES dormitory(dorm_id)
);
-- 创建住宿费用表
CREATE TABLE accommodation_fee (
fee_id INT PRIMARY KEY, -- 费用ID
dorm_id INT, -- 宿舍ID
fee_type VARCHAR(50), -- 费用类型
fee_amount DECIMAL(10,2), -- 费用金额
fee_date DATE, -- 费用日期
FOREIGN KEY (dorm_id) REFERENCES dormitory(dorm_id)
);
-- 创建物品卫生信息管理表
CREATE TABLE dormitory_management (
management_id INT PRIMARY KEY, -- 管理ID
dorm_id INT, -- 宿舍ID
item_name VARCHAR(50), -- 物品名称
item_count INT, -- 物品数量
sanitation_score DECIMAL(3,1), -- 卫生分数
management_date DATE, -- 管理日期
FOREIGN KEY (dorm_id) REFERENCES dormitory(dorm_id)
);
-- 创建学生信息表
CREATE TABLE student_information (
student_id INT PRIMARY KEY, -- 学生ID
parent_name VARCHAR(50), -- 家长姓名
parent_phone VARCHAR(20) -- 家长电话
);
-- 创建触发器,记录被修改的学生信息
CREATE TRIGGER student_info_trigger
AFTER UPDATE ON student
FOR EACH ROW
INSERT INTO student_information (student_id, parent_name, parent_phone)
VALUES (OLD.student_id, 'N/A', 'N/A');
-- 创建视图,记录被修改的学生信息
CREATE VIEW student_info_view AS
SELECT * FROM student_information;
-- 创建索引,记录被修改的学生信息
CREATE INDEX student_info_index ON student_information (student_id);
```
这个SQL表设计包括了宿舍基本信息表、专业基本信息表、学生基本信息表、住宿费用表、物品卫生信息管理表和学生信息表。在学生表上建立触发器,记录被修改的信息,并在学生表上建立视图和索引,记录被修改的信息。注意,这只是一个基本的表设计,实际情况可能需要根据具体需求进行修改。
阅读全文