1、 网络教育学院SQL数据库课程设计 题 目:户籍管理系统的设计与实现 学习中心: 专 业: 计算机应用技术 年 级: 14年春季 学 号: 学 生: 指导教师: 龙珠 1 项目概况 每个经济时代都有其相适应的管理模式,如今,随着网络经济时代的到来,信息化管理已成为一种新的管理模式。各行各业的信息化实质上是将单位的所有业务过程和管理过程计算机化和网络化,通过各种信息系统加工生成新的信息资源,提供给本单位的各层次的人员洞悉、观察等。 户籍管理是我国行政管理的重要组成部分,是公安机关的一项主要职能,它直接关系到政治经济生活秩序和广大人民群众的切身利益。但是,随着市场经济的建立,户籍制度的管理已经不能
2、适应中国全面发展的需要,其弊端愈发明显地表现出来。 中国户籍管理制度的改革,对于户籍的管理工作起到了很好的作用,它的应用使户籍管理更加快捷,准确。管理信息系统的开发是一个开发周期长、技术要求高、影响因素多的复杂系统工程,因此制定一个完善、可行、合理的开发计划,不仅是系统开发成功的保证,而且可以提高效率、节省时间、降低成本。2.1 SQL 数据库简介SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。这篇文章详细介绍了Microsoft SQL Server 2008中的新的特性、优点和功能。 在现今
3、数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。这个平台有以下特点:1.可信任的:使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。2.高效的:使得公司可以降低开发和管理他们的数据基础设施的时间
4、和成本。3.智能的:提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。2.2 Microsoft Visual C+ 6.0概述Microsoft Visual C+是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。Visual C+6.0由Microsoft开发, 它不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境
5、(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Microsoft的主力软件产品。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.
6、0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0以拥有“语法高亮”,自动编译功能以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。由于C+是由C语言发展起来的,也支持C语言的编译。6.0版本是使用最多的版
7、本,很经典。最大的缺点是对于模版的支持比较差。现在最新补丁为SP6,推荐安装,否则易出现编译时假死状态。仅支持Windows操作系统。发现与windows 7兼容性不好,安装成功后可能会出现无法打开cpp文件的现象。2.1 户籍管理系统概述 户籍管理系统是一种典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。然而,对于后者则要求应用程序功能完善,使用方便快捷等特点。 最终通过设计本系统,取代传统人工管理方式,减少户籍管理人员的工作量,提高管理质量和效率。2 需求分析2.1 需求分析随着城市人口规
8、模的扩大和公安部门对城市及农村人口管理工作规范性的逐渐增强,户籍管理工作的业务量急剧增大。传统的手工方法,存在效率低、易出错等缺点,已经难以满足当前户籍管理工作的要求。因此,结合当前日益成熟的计算机相关技术,开发一个专门针对户籍管理的系统已经非常必要了。户籍管理信息系统是公安部门不可缺少的一部分,更是适应现代户籍制度并推动户籍管理走向科学化、规范化、自动化的必要条件。该管理系统能够为用户提供充足的信息和快捷的查询手段,以帮助用户了解户籍工作的情况。它大大改善了公安部门管理、查询户籍的基础工作环境,在一定程度上反映出户籍管理的现代化管理模式。因此人口户籍管理信息系统的开发迫在眉睫。该课程设计就户
9、籍的迁入、迁出、注销,身份证的办理、领取做了简单地设计。2.2 数据分析表1户籍信息HK列名说明数据类型约束Huhao户号定长字符串,长度为20 非空,主键Hname户主姓名定长字符串,长度为20非空ID身份证号定长字符串,长度为20非空Minzu民族定长字符串,长度为20非空zhuzhi住址不定长字符串,长度为20非空Qrsj何时迁入Datetime非空qrd何地迁入不定长字符串,长度为20非空Qcsj迁出日期Datetime可空Whereout迁往何地不定长字符串,长度为20可空表2人口信息表RK列名说明数据类型约束Xm姓名定长字符串,长度为20非空Rsex性别定长字符串,长度为2非空ID
10、身份证号定长字符串,长度为20非空,主键Minzu民族定长字符串,长度为20非空Province籍贯定长字符串,长度为20非空Birdate出生日期Datetime非空Csd出生地不定长字符串,长度为20可空zhuzhi住址不定长字符串,长度为20可空表3管理员信息表GL列名说明数据类型约束Name姓名定长字符串,长度为20非空Number职工编号定长字符串,长度为20非空,主键Sex性别定长字符串,长度为2可空Mima密码不定长字符串,长度为20非空表4人口迁入信息表RIN列名说明数据类型约束Huhao户号定长字符串,长度为20非空,主键Relation与户主关系定长字符串,长度为20非空I
11、D身份证号定长字符串,长度为20非空,主键Qrsj何时迁入Datetime可空qrd迁入地不定长字符串,长度为20可空Out是否迁出定长字符串,长度为20可空户号引用户口信息表,ID引用自人口信息表,两者均为外键2.3 功能分析户籍管理系统需求分析如下所示:1、用户登录管理:主要实现用户登陆、修改用户和修改用户密码功能,以及用户基本信息的录入、修改、删除等功能。能够根据登陆身份的不同,实现不同的功能。2、人员信息管理:此模块是完成对人员信息的增、删、查、改的功能。3、户籍管理模块:该模块主要是实现对人口户籍的信息进行增、删、查、改的功能。4、系统信息查询模块:在对人口户籍信息查询的过程中,要求
12、实现多种查询方式。可以按照人、所在地、性别等等信息进行分类查询。3 详细设计3.1 系统结构图登陆模块户口管理模块迁入管理模块人口管理模块浏览信息添加信息删除信息删除户号信息浏览添加户口迁入地删除迁入地添加迁入时间间修改迁入地间管理员模块块设置密码管理用户图2-2 系统功能结构图3.2 系统实现实现具体功能,包括数据更新,插入,删除和查询。3.3.1 主界面模块3.3.2 人口管理功能模块1、添加功能的实现-向人口信息表中添加信息insert into RK values (张飞,1112219234,男,汉,北京,文化路,1993-11-7,无锡)2、修改功能的实现-将人口信息表的“minz
13、u”列的定长该为不定长字符串Alter table RKAlter column minzu varchar3、删除功能的实现delete from RKwhere xm=李一4、查询功能的实现-查询姓名为“李三”的户口信息select * from RK where xm=李三向户口信息表中插入一个新的户口信息“1220”,“张韶涵”,“410503197”,“汉”,“汇文路345号”,“1998-12-3”,“香港”。 insert into HK value(1220,张韶涵,410503197,汉,汇文路345号,1998-12-3,香港,) 结果如图1所示: 图1 2、将户名为“张韶
14、涵”的户口的迁入地改为“马来西亚”。update HK set wherein = 马来西亚 where Hname = 张韶涵结果如图2、图3所示: 图2 图33.3.3 户口管理模块1、添加功能的实现向RK表中添加信息 insert into HK values (1234,赵敏,1212211234,汉,汇文路,1998-12-3,香港,2008-12-3,台湾,否)2、修改功能的实现修改HK表中赵三的住址为青年路update HKset zhuzhi= 青年路where xm=赵三3、删除功能的实现删除HK表中王二的数据delete from RKwhere xm=王二4、查询功能的实
15、现-查询户号为“1234”的户口信息select * from HK where Hh=1234向人口信息表中插入一个新的人口信息孙燕姿,女,410504199,香港,1990-4-3,景德路345号.insert into RK(Rname,Rsex,ID,Nation,Birdate,Add)valu(孙燕姿,女,410504199,香港,1990-4-3,景德路345号)删除人口信息表中“孙燕姿”的所有信息。delete from RK where Rname = 孙燕姿运用SQL语言进行一下查询。查询户号为“1234”的户口信息。select * from HK where Hno =
16、1234如图4所示: 图4在人口信息表中查询身份证号为“4105031970”的人员的姓名,性别。select Rname,Rsex from RK where ID = 4105031970如图5所示: 图5查询名为“张萌”且迁入日期为“1993-3-13”的人员的信息。select * from RK join RIN on RK.ID = RIN.ID where Rname= 张萌and Indate = 1993-3-13 结果如图6所示: 图6查询在“1999-2-3”迁入的人员的信息。select * from RK join RIN on RK.ID=RIN.ID where
17、Indate= 1993-3-133.3 数据库实现该小节是文章的重点,要求学生列出实现数据库部分的核心代码3.3.1 数据库的建立建立数据库及数据表、修改表结构等操作 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 (
18、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) )基于
19、户籍信息数据库的三个表,用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 3.3.2
20、 数据库的更新 创建触发器USE hjxxGO IF EXISTS (SELECT NAME FROM sysobjects WHERE HNAME=id_PK_tri ANDTYPE=tr)DROP TRIGGER id_RK_triGO CREATE TRIGGER id_RK_tri ON RK FOR INSERT,UPDATEASDECLARE id_read TINYINT SELECT id_read=id FROM INSERTEDIF id_read=18BEGINPRINT 身份证号码超出,请重新输入,Rollback TransactionENDgocreate trigger up3on datebaseafter drop_TABLEasprint不能删除该表ROLLBACK TRANSACTIONDROP TABLE GL4 心得与体会经过这次的课程设计,我深切认识到平时老师教授的基础知识有多重要。所谓,万丈高楼,起于地基。只有平时的扎实功底,才能在实际操作中如鱼得水。我明白了,平时应多对知识点进行巩固复习。