六、定义表结构
1、根据关系模式定义表结构,生成表如下所示:
表1 户口信息表HK
列名 Hno Hname ID Nation Add Indate wherein Outdate 说明 户号 户主姓名 身份证号 民族 住址 何时迁入 数据类型 定长字符串,长度为20 定长字符串,长度为20 定长字符串,长度为20 定长字符串,长度为20 不定长字符串,长度为20 Datetime 约束 非空,主键 非空 非空 非空 非空 非空 非空 可空 可空 何地迁入 不定长字符串,长度为20 迁出日期 Datetime Whereout 迁往何地 不定长字符串,长度为20
表2 人口信息表RK
列名 Rname Rsex ID Nation Province Birdate Birpace Address 说明 姓名 性别 身份证号 民族 籍贯 出生日期 出生地 住址 数据类型 定长字符串,长度为20 定长字符串,长度为2 定长字符串,长度为20 定长字符串,长度为20 定长字符串,长度为20 Datetime 不定长字符串,长度为20 不定长字符串,长度为20 约束 非空 非空 非空,主键 非空 非空 非空 可空 可空
表3 管理员信息表GL
列名 Name Number Sex Password 说明 姓名 职工编号 性别 密码 数据类型 定长字符串,长度为20 定长字符串,长度为20 定长字符串,长度为2 不定长字符串,长度为20 约束 非空 非空,主键 可空 非空 表4 人口迁入信息表 RIN
列名 Hno Relation ID Indata wherein Out 说明 户号 与户主关系 身份证号 何时迁入 迁入地 是否迁出 数据类型 定长字符串,长度为20 定长字符串,长度为20 定长字符串,长度为20 Datetime 不定长字符串,长度为20 定长字符串,长度为20 约束 非空,主键 非空 非空,主键 可空 可空 可空 户号引用户口信息表,ID引用自人口信息表,两者均为外键
建立数据库及数据表、修改表结构等操作 CREATE DATABASE 户籍信息 create table HK(
Hno char(20) primary key not null, Hname char(20) not null, ID char(20) not null, Nation char(20) not null, Add varchar(20) not null, Indate Datetime not null,
wherein varchar (20) not null )
用SQL语句创建人口迁入信息表(RIN)
create table RIN( Hno charaa(20) not null, Relation char(20) not null, ID char(20) not null, Indate Datetime not null, wherein varchar(20) null, out char(20) not null, primary key (Hno,ID),
foreing key (Hno) references HK(Hno), foreing key(ID) references RK(ID) )
基于户籍信息数据库的三个表,用SQL语言完成以下各项操作: ①为人口信息表的“sex”列,添加约束性别只可选择“男”或“女”。
Alter table RK
Add constraint check(sex=“男”or sex=“女”) ②将人口信息表的“Nation”列的定长该为不定长字符串 Alter table RK
Alter column Nation varchar
③给人员信息表()增加一列“marry”(婚否),数据类型为char(20)。
alter table RK add marry char(20) ④删除刚增加的列“marry”。 Alter table RK Drop marry
八、具体功能实现
实现具体功能,包括数据更新,插入,删除和查询。
1、向户口信息表中插入一个新的户口信息“1220”,“张韶涵”,“410503197”,“汉”,“汇文路345号”,“1998-12-3”,“香港”。
insert into HK value(’1220’,’张韶涵’,’410503197’,’汉’,’汇文路345号’,’1998-12-3’,’香港’,)
结果如图2所示:
图2
2、将户名为“张韶涵”的户口的迁入地改为“马来西亚”。
update HK set wherein = '马来西亚' where Hname = '张韶涵’ 结果如图3图、4所示:
图3
图4
3、向人口信息表中插入一个新的人口信息’孙燕姿’,’女’,’410504199’,’香港’,’1990-4-3’,’景德路345号’.
insert into RK(Rname,Rsex,ID,Nation,Birdate,Add)valu ('孙燕姿','女','410504199','香港','1990-4-3','景德路345号')
4、删除人口信息表中“孙燕姿”的所有信息。 delete from RK where Rname = '孙燕姿' 5、运用SQL语言进行一下查询。 ①查询户号为“1234”的户口信息。 select * from HK where Hno ='1234' 如图5所示:
图6
②在人口信息表中查询身份证号为“4105031970”的人员的姓名,性别。 select Rname,Rsex from RK where ID = '4105031970' 如图6所示:
图7
③查询名为“张萌”且迁入日期为“1993-3-13”的人员的信息。
select * from RK join RIN on RK.ID = RIN.ID where Rname= '张萌'and Indate = ‘1993-3-13’
结果如图7所示:
图8
④查询在“1999-2-3”迁入的人员的信息。
select * from RK join RIN on RK.ID=RIN.ID where Indate= '1993-3-13'
九、结论
此系统实现了户籍管理的基本功能,用于派出所户籍管理,能够非常方便的管理辖区居民的户口资料和通讯资料。主要功能:辖区内单位管理、方便的户口基本信息管理。人员信息管理功能,此模块是完成对人员信息的增、删、查、改的功能。户籍管理功能,主要是实现对人口户籍的信息进行增、删、查、改的功能。系统信息查询功能,在对人口户籍信息查询的过程中,要求实现多种查询方式。可以按照人、所在地、性别等等信息进行分类查询。本系统操作简单,管理方便,满足各方面的基本需求。