创建数据库:CREATE DATABASE 数据库名
;
-- 创建数据库library,使用字符集utf8,使用字符排序规则utf8_general_ci
CREATE DATABASE `library` CHARACTER set utf8 COLLATE utf8_general_ci;
创建表:CREATE DATABASE 表名
();
MySQL不支持列级创建外键约束,因此只能使用CONSTRAINT来创建表级外键约束,也只能使用CONSTRAINT来创建表的联合主键约束。
-- 图书目录表
CREATE TABLE `Books` (
`bookNo` CHAR ( 9 ) COMMENT '书号(主键)' 【 列级主键约束:PRIMARY KEY 】,
`ISBN` CHAR ( 13 ) not null COMMENT '每种书唯一编号(外键)',
`location` VARCHAR ( 40 ) not null COMMENT '图书存放位置',
`bstatus` CHAR ( 1 ) not null COMMENT '注释',
`ctr_no` TINYINT not null COMMENT '注释',
CONSTRAINT PK_bookNo PRIMARY KEY ( `bookNo` ),
CONSTRAINT FK_ISBN FOREIGN KEY ( `ISBN` ) REFERENCES `BookInfo` ( `ISBN` ),
CONSTRAINT CK_bstatus CHECK ( `bstatus` = 0 OR 1 OR 2 OR 3 )
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 佑溪村数据库
DROP DATABASE if EXISTS `yxc`;
CREATE DATABASE IF NOT EXISTS `yxc` CHARACTER set utf8 COLLATE utf8_general_ci;
-- 使用佑溪村数据库
use yxc;
-- 1.角色表
DROP TABLE if EXISTS `villager_role`;
CREATE TABLE IF NOT EXISTS `villager_role`(
`R_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识角色的编码',
`role_name` VARCHAR(20) not null UNIQUE COMMENT '角色名',
`role_duty` VARCHAR(255) NULL COMMENT '相关职责',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 2.残疾级别表
DROP TABLE if EXISTS `disability_level`;
CREATE TABLE IF NOT EXISTS `disability_level`(
`DL_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识残疾级别的编码',
`level` VARCHAR(20) not null UNIQUE COMMENT '残疾级别',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 3.户主关系类型表
DROP TABLE if EXISTS `family_relation`;
CREATE TABLE IF NOT EXISTS `family_relation`(
`FR_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识户主关系类型的编码',
`relation_type` VARCHAR(5) not null UNIQUE COMMENT '村民与户主的血缘关系',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 4.家庭贫困类型表
DROP TABLE if EXISTS `family_pool`;
CREATE TABLE IF NOT EXISTS `family_pool`(
`FP_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识户主关系类型的编码',
`relation_type` VARCHAR(5) not null UNIQUE COMMENT '村民与户主的血缘关系',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 5.土地类型表
DROP TABLE if EXISTS `land`;
CREATE TABLE IF NOT EXISTS `land`(
`L_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识土地类型的编码',
`land_type` VARCHAR(10) not null UNIQUE COMMENT '土地类型',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 6.种植类型表
DROP TABLE if EXISTS `plant`;
CREATE TABLE IF NOT EXISTS `plant`(
`P_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识种植农作物类型的编码',
`plant_type` VARCHAR(10) not null UNIQUE COMMENT '农作物名',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 7.养殖类型表
DROP TABLE if EXISTS `breed`;
CREATE TABLE IF NOT EXISTS `breed`(
`B_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识养殖动物类型的编码',
`breed_type` VARCHAR(10) not null UNIQUE COMMENT '养殖动物名',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 8.民问卷调查表(匿名调查)
DROP TABLE if EXISTS `villager_survey`;
CREATE TABLE IF NOT EXISTS `villager_survey`(
`VS_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 问卷调查流水号',
`survey_time` date not null COMMENT '调查时间',
`family_relation` VARCHAR(255) null COMMENT '家庭成员关系和睦情况',
`neighbor_relation` VARCHAR(255) null COMMENT '邻居关系和睦情况',
`evaluateion` VARCHAR(255) null COMMENT '对村委干部的评价',
`difficulty` VARCHAR(255) null COMMENT '有何困难',
`suggestion` VARCHAR(255) null COMMENT '有何建议',
`life_happiness` VARCHAR(255) null COMMENT '对于目前生活是否幸福的看法与原因',
`assistance_measures` VARCHAR(255) null COMMENT '目前享有的主要帮扶措施是什么',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 9.村组信息表
DROP TABLE if EXISTS `village_group`;
CREATE TABLE IF NOT EXISTS `village_group`(
`VG_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识村组类型的编码',
`family_amount` int(3) not null COMMENT '一个村组包含的家庭个数',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 10.家庭户籍表
DROP TABLE if EXISTS `family`;
CREATE TABLE IF NOT EXISTS `family`(
`V_ID` int(15) not null PRIMARY KEY COMMENT '主键: 户主(村民)ID ',
`family_number` VARCHAR(10) not null UNIQUE COMMENT '房屋门牌号',
`people_amount` int(2) not null COMMENT '家庭人口数',
`family_highway` int(1) null DEFAULT 0 COMMENT '入户公路状况: 0表示未入户: 公路未修到家门口,1表示已入户: 公路已修到家门口',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 11.村民表
DROP TABLE if EXISTS `villager`;
CREATE TABLE IF NOT EXISTS `villager`(
`V_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识村民的编码',
`villager_name` VARCHAR(20) not null COMMENT '姓名',
`villager_sex` int(1) NULL DEFAULT 1 COMMENT '性别: 0表示女,1表示男',
`villager_age` int(3) NULL COMMENT '年龄',
`villager_birthday` date NOT NULL COMMENT '出生年月日',
`villager_phone` char(11) NULL UNIQUE COMMENT '联系电话:固定11位',
`villager_number` char(18) NULL UNIQUE COMMENT '身份证号:固定18位',
`villager_nation` VARCHAR(10) NULL DEFAULT '汉族' COMMENT '民族',
`political_outlook` VARCHAR(10) NULL DEFAULT '群众' COMMENT '政治面貌',
`villager_marriage` int(1) NULL DEFAULT 0 COMMENT '婚姻状况: 0表示未婚,1表示已婚,2表示离异' ,
`villager_health` VARCHAR(255) NULL COMMENT '身体状况',
`is_student` int(1) NULL DEFAULT 1 COMMENT '是否学生: 0表示否,1表示是',
`is_disability_certificate` int(1) NULL DEFAULT 0 COMMENT '是否办理残疾证: 0代表未办理,1代表已办理',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 12.村民工作信息表
DROP TABLE if EXISTS `job_info`;
CREATE TABLE IF NOT EXISTS `job_info`(
`JI_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识工作信息的编码',
`job_unit` VARCHAR(20) not null COMMENT'工作单位',
`job_income` int(10) not null COMMENT'月工资',
`job_item` VARCHAR(20) null COMMENT'近期工作内容',
`job_province` VARCHAR(10) null COMMENT'省份',
`job_city` VARCHAR(10) null COMMENT'城市',
`job_county` VARCHAR(10) null COMMENT'县',
`job_address` VARCHAR(20) null COMMENT'详细地址',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 13.村民患病信息表
DROP TABLE if EXISTS `illness_info`;
CREATE TABLE IF NOT EXISTS `illness_info`(
`II_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识患病信息的编码',
`illness_name` VARCHAR(20) not null COMMENT'所患何病',
`illness_time` datetime null COMMENT'患病时间',
`is_chronic_disease` int(1) null DEFAULT 0 COMMENT'是否属于慢性病: 0表示否,1表示是',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 14.残疾补贴表
DROP TABLE if EXISTS `disability_payments`;
CREATE TABLE IF NOT EXISTS `disability_payments`(
`DP_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识残疾补贴的编码',
`dp_time` datetime not null COMMENT'领取时间',
`dp_money` int(10) not null COMMENT'补贴金额',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 15.养老补贴表
DROP TABLE if EXISTS `pension_subsidy`;
CREATE TABLE IF NOT EXISTS `pension_subsidy`(
`PS_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识养老补贴的编码',
`ps_time` datetime not null COMMENT'领取时间',
`ps_money` int(10) not null COMMENT'养老补贴金额: age>=60方可领取',
`advanced_age_money` int(10) null COMMENT'养老补贴金额: age>=80方可领取',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 16.村民保障表
DROP TABLE if EXISTS `villager_ensure`;
CREATE TABLE IF NOT EXISTS `villager_ensure`(
`V_ID` int(15) not null PRIMARY KEY COMMENT '主键(外键): 村民id,标识一行记录属于哪一个村民',
`enjoy_mm` int(1) not null DEFAULT 0 COMMENT '是否享受慢门政策: 0表示否,1表示是',
`manage_mm` int(1) not null DEFAULT 0 COMMENT '是否办理慢门政策: 0表示否,1表示是',
`manage_medical` int(1) not null DEFAULT 0 COMMENT '是否办理医疗保险: 0表示否,1表示是',
`manage_pension` int(1) not null DEFAULT 0 COMMENT '是否办理养老保险: 0表示否,1表示是',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 17.土地所属详情表
DROP TABLE if EXISTS `family_land`;
CREATE TABLE IF NOT EXISTS `family_land`(
`V_ID` int(15) not null COMMENT '主键(外键): 户主(村民)ID ',
`L_ID` int(15) not null COMMENT '主键(外键): 标识土地类型',
`land_area` double null COMMENT '土地面积',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 18.种植类型详情表
DROP TABLE if EXISTS `family_plant`;
CREATE TABLE IF NOT EXISTS `family_plant`(
`V_ID` int(15) not null COMMENT '主键(外键): 户主(村民)ID ',
`P_ID` int(15) not null COMMENT '主键(外键):标识种植的农作物类型',
`plant_amount` int(10) null COMMENT '种植数量',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 19.养殖类型详情表
DROP TABLE if EXISTS `family_breed`;
CREATE TABLE IF NOT EXISTS `family_breed`(
`V_ID` int(15) not null COMMENT '主键(外键): 户主(村民)ID ',
`B_ID` int(15) not null COMMENT '主键(外键): 标识养殖的动物类型',
`breed_amount` int(10) null COMMENT '养殖数量',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 20.家庭年收支表
DROP TABLE if EXISTS `income_expenditure`;
CREATE TABLE IF NOT EXISTS `income_expenditure`(
`IE_ID` int(15) not null PRIMARY KEY AUTO_INCREMENT COMMENT '主键: 唯一标识家庭年收支的编码',
`survey_time` date not null COMMENT '调查时间',
`genera_income` int(10) not null COMMENT '年总收入',
`genera_expenditure` int(10) not null COMMENT '年总支出',
`percapita_income` int(10) null COMMENT '人均年净收入: (年总收入-年总支出)/家庭人口数',
`production_expenditure` int(10) null COMMENT '年生产支出',
`medical_expenditure` int(10) null COMMENT '年医疗支出',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 21.家庭保障表
DROP TABLE if EXISTS `family_ensure`;
CREATE TABLE IF NOT EXISTS `family_ensure`(
`V_ID` int(15) not null PRIMARY KEY COMMENT '主键(外键): 户主(村民)ID,标识一行记录属于哪一户家庭',
`house_ensure` int(1) not null default 1 COMMENT '安全住房是否保障: 0表示否,1表示是',
`house_qusetion` VARCHAR(255) null COMMENT '安全住房存在的问题',
`water_ensure` int(1) not null default 1 COMMENT '安全饮水是否保障: 0表示否,1表示是',
`water_qusetion` VARCHAR(255) null COMMENT '安全饮水存在的问题',
`education_ensure` int(1) not null default 1 COMMENT '基础教育是否保障: 0表示否,1表示是',
`education_qusetion` VARCHAR(255) null COMMENT '基础教育存在的问题',
`student_amount` int(2) not null COMMENT '家庭学生个数',
`gmt_create` datetime null COMMENT '元组创建时间',
`gmt_modified` datetime null COMMENT '元组修改时间'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;