第一篇:数据库应用系统项目_题目
课题1 小型仓库管理系统
(1)基本要求
某工厂需要一个仓库管理系统实现对仓库的仓储管理。该系统的用户为仓库管理员,同时他也是系统管理员。
(2)基本功能
①仓库入库管理:主要是管理员对进入仓库的货物进行登记,包括货物号、货物名、货物数、货物价格、货主以及仓库号等,以便统一管理。当同一货主的同种货物入库时,要进行货物记录的追加,同时也要记录仓库入库的日志信息。
②仓库提货管理:当货主提走货物时进行该管理,在货物出库时进行登记,登记的内容有编号、货物号、货物数、货物价格、货主、仓库号、日期等。
③仓库货物查询:可按照货物名称查询、按照货主查询以及按照仓库查询等。这些查询主要是在用户需要得知货物资料时进行。由于只是进行查询操作,所以数据以只读形式出现。
④货物信息维护功能:主要对货物的基本资料和信息进行维护。其中包括货物价格的变化、货物种类的变化等。
课题2 高校教材管理系统
(1)基本要求
高校希望通过计算机系统来对教材采购、发放和库存进行管理。(2)基本功能
①基础信息管理:对基础资料(包括教材信息、供应商信息和学生专业班级信息等)进行维护管理。
②教材采购管理:对教材采购、入库、库存等进行管理。
③教材发放管理:按院系、专业、年级、班级发放教材,打印发放清单,同时维护库存信息。
④教材查询统计:按班级查询每学年教材发放清单,库存教材信息查询,统计各个班级教材发放总册数、总书记费。
⑤系统维护管理:包括用户管理、权限管理、修改密码等。
课题3 学校社团管理系统
(1)基本要求
高校希望通过计算机系统来对学校社团组织进行管理。(2)基本功能
①社团信息:对社团基础资料(包括社团自身信息、社团组织信息、社团成员信息)进行维护管理。
②社团活动:对社团开展的活动进行管理,包括活动申请、策划书,活动主题、内容、形式、出席领导老师、参加人数、活动效果及评价、活动报道等进行管理。
③信息查询:社团基本信息、社团活动信息的查询,可按院系、社团名查询相关信息。④统计报表:统计社团成员类别、数量,统计社团活动开展情况,可形成各种报表。⑤系统管理:包括用户管理、权限管理、修改密码等。
课题4 饭店管理系统
(1)基本要求
某餐饮公司所属的饭店企业希望通过计算机对饭店经营情况进行管理。(2)基本功能
①员工信息:对员工的基本信息资料进行动态管理。
②菜品信息:对菜品信息进行录入、修改,分类查询、打印等管理。③材料采购:对材料采购、入库、库存等进行维护管理。
④点菜付费:包括餐桌预定、顾客餐桌安排、点菜安排,打印付费单(包含菜品名及单价)。
⑤查询统计:查询统计库存材料信息,查询统计饭店每天、每月的营业额,查询统计员工的信息。
⑥系统维护:包括用户管理、权限管理、修改密码等。
课题5 实验室设备管理系统
(1)基本要求
学校的实验室要建立设备管理系统对实验室设备的使用情况进行管理。该系统的用户为实验室管理人员,同时他也是系统管理员。
(2)基本功能
①设备入库管理:主要是管理员对新增加的设备进行登记,包括类别、设备号、型号、规格、单价、数量、购置日期、生产厂家、购买人等。当同一品牌与型号的设备入库时,要记录设备入库的批次信息。
②设备运行状况统计:可按照设备名称、机房名称以及日期等统计实验室设备运行状况。该功能主要是为了使用户能够实时掌握学校实验室设备的运行状况,所做的主要操作就是查询和统计,所以数据以只读形式出现。
③报修设备管理:对于有故障的设备需送修,记录修理日期、设备名、修理厂家、修理费、责任人等,随时对设备修理情况进行统计,并能够按类别、修理厂家和修理日期查询设备修理情况。
④报废设备管理功能:对已经彻底损坏的设备作报废处理,详细记录报废设备的有关信息,并随时对设备报废情况进行统计和查询,要求能够按类别和时间段(年、月或季度)查询。
课题6 医务室门诊管理系统
(1)基本要求
某单位医务室希望通过计算机对现有的门诊信息进行管理。(2)基本功能
①挂号:为每个病人建立一个包含病人基本信息(如病历号、姓名、性别、年龄等)的病历,其中病历号必须唯一,以供全系统共享调用,整个系统通过这个唯一病历号贯通一体,医生和病人都可以籍此查询所有的就诊历史信息,并实现划价收费、病房取药等操作。
②诊断:完成病历基本信息的填写,医生可以记录病情、查看病史、并将处方输入系统,供划价时使用。
③划价:根据处方进行自动计价,对药品及其他诊疗项目的价格进行严格控制。
④收费:系统自动计价后,自动计算总计金额,收款员据此收款,并有详尽的门诊收入统计资料。可按照收款员和病人姓名进行收费明细查询。
⑤药房管理:包括供应商管理、药品入库、药品出库、药品盘点、药品报损、过期药品预警、底线报警等。通过药品入库、出库和门诊发药等操作,可自动统计出药品现在的库存数量,根据药品的警戒高线和警戒底线进行判断,并能打印输出超线药品、底线药品。
课题7 班主任工作管理系统
(1)基本要求
中学班主任的日常工作非常繁琐,需要管理学生相关信息和班级的日常活动等。结合班主任工作实际,开发一个管理系统。
(2)基本功能 ①学生资料管理:提供学生基本档案、学生评语、家访记录的维护,可按照年龄、性别、民族、政治面貌、职务等查询和统计学生信息。
②班级日常管理:提供班干部管理、宿舍管理、考勤管理、班级课程表、班级活动、班级奖惩记录、缴费记录、班级值日信息的维护功能。
③成绩管理:提供成绩录入、成绩汇总统计等功能。统计学生成绩分布、平均分、总分、班级名次等信息。
④班级工作管理:提供班主任工作计划、班主任工作总结、班级主题班会、学生谈话记录的维护功能。
⑤系统管理:提供参数设置、评语库维护、密码修改等功能。
课题8 学校后勤物资管理系统
(1)基本要求
学校后勤集团希望通过计算机对后勤物资进行管理。(2)基本功能
①购货管理:包括采购合同管理和进货统计报表,采购合同管理又分为采购合同维护、采购执行情况跟踪、采购信息统计。
②销售管理:分为销售合同关系和销售情况统计。销售合同管理包括销售合同的维护和管理。销售情况统计用于确定销售的数量和价格(可以按照类别、时间段等条件统计),统计所得的数据可以为今后制定后勤集团工作计划提供参考信息。
③库存管理:用于管理库存情况,包括库存查询、库存盘点、库存上下限报警等,并生成库存统计图。
④数据维护:分为物资供应商信息(编号、名称、主管、简介等)管理和产品信息管理。⑤账务管理:管理后勤集团的结账业务,每个月都要进行一次结账操作,确定该财务月份所有物资的进、销、结存情况,为财务管理提供数据。
⑥系统管理:包括参数设置、权限设置、更改密码等。
课题9 外聘教师管理系统
(1)基本要求
学校希望通过外聘教师管理系统实现对外聘教师的管理。(2)基本功能
①外聘教师信息维护:包括外聘教师信息的增加、删除和修改功能。
②外聘教师信息查询:主要分为按院系查询、按课程名称以及按教师姓名查询等,可以按院系查询外聘教师基本信息,统计外聘教师总人数,按职称和学历等统计各院系的外聘教师分布情况;也可以通过课程名称或教师姓名,查询教师个人信息;不可以对查询结果进行任何修改。
③工资管理:根据外聘教师的代课数量和代课金级别,计算当月工资。
④学校信息维护:系统管理员用来维护系部信息、课程信息以及代课金级别等,包括信息的增加、删除、修改和查询等功能。
⑤生成报表:将系统查询出的信息功过报表的形式(如教师职称统计、学历统计以及月工资等报表)给出直观的表达。
⑥系统管理:包括登录管理、权限设置(系统管理员具有全部权限,普通用户只可以查询外聘教师基本信息)、更改密码等。
课题10 书店销售管理系统
(1)基本要求
书店希望借助一个销售管理系统实现对现有业务的管理。(2)基本功能
①图书入库管理:维护入库图书信息(如图书编号、书名、作者、价格、图书分类、出版社等)。自动计算库存。
②图书查询统计:按图书分类,出版社、书名、作者等条件查询图书的详细信息。
③销售管理:销售过的图书都记录在销售列表中,方便统计收入。图书销售后,实时记录图书库存,按每天统计销售额、按每个月或季度统计销售额并生成报表,并能根据销售数量统计生成畅销书名单。该书店不定期地会推出促销活动,要求图书的价格是可变更的。
④书店会员管理:首先是申请会员功能,顾客购买书籍累积达到一定金额后,凭购书发票可填表申请成为正式会员。其次提供会员信息的维护功能,可设置会员等级,不同级别的会员享受不同的折扣,可以变更折扣额度。
⑤系统管理:包括参数设置、权限设置、更改密码等。用户包括系统管理员和销售人员。系统管理员维护整个系统的数据。
课题11 保险信息管理系统
(1)基本要求
保险公司希望借助一个保险信息管理系统,对保单进行管理,加强与客户的沟通。(2)基本功能
①保单管理:保单信息的录入、修改、查询,可按投保人、被保险人姓名、联系电话、保单号码查询保单信息;按投保人、被保险人、客户生日、险种名称、保费应交时间、保单状态、客户地址自动排序浏览。
②续期收费:根据保单信息可按要求设定应收时间,生成应收保保单信息,可按保费应收日期、地址、投保人、被投保人自动排序。
③保单业绩统计:根据录入的保单信息,自助选择时间段,统计所有保单、有效保单的保费业绩,系统自动计算保单件数。
④客户信息管理:客户信息的录入、修改和查询。
⑤客户拜访:生成本月、下月、今天、明天过生日的客户信息、投保信息资料。
⑥续期收费拜访:进行续期收费管理,修改下次应收费日期,做好下次应收日期管理。
课题12 报纸发行员投递管理系统
(1)基本要求
为该报社开发一个报社发行员投递管理系统。报社的客户主要集中在社区,每个社区有若干客户。每个发行员管理若干客户。
(2)基本功能
①系统用户管理:实现系统管理员添加、删除以及密码更改等功能。②发行员管理:实现发行员个人信息的维护和查询。③客户信息管理:客户信息的维护和查询。
④报纸管理:报纸订购和退订信息的维护和查询。
⑤管理统计:发行员负责区域的安排,客户数量和订购信息的统计。
课题13 健身俱乐部会员管理系统
(1)基本要求
一个会员制的游泳馆希望通过计算机实现会员管理。(2)基本功能
①售卡管理:销售会员卡时要输入卡号、金额、折扣、类型(储值卡、折扣卡)以及持卡人基本资料(姓名、电话、证件号等)等信息。这些信息记录到会员资料中。
②会员资料管理:查询和修改会员资料(其中“卡号”和“金额”两项不能修改)。可按照卡号、持卡人姓名查询信息。
③存款管理:如果会员卡类别是储值卡,可根据卡号进行预存款操作。
④退卡管理:执行退卡操作后该卡不可再使用,但是保留该卡以前的消费记录。⑤会员禁用:用来挂失或是停止会员卡的使用(记录禁用原因),实现对会员卡的安全管理。可以通过解禁功能恢复会员卡的正常使用。
⑥消费管理:记录会员的消费情况,可以查看会员的消费金额、存款金额、结存余额,可以查询任何一段时间内该卡的消费情况,也查询所有会员卡的汇总记录。
⑦系统管理:包括参数设置、权限设置、更改密码等。
课题14 车辆租赁管理系统
(1)基本要求
车辆租赁公司希望借助计算机对车辆租赁使用情况进行全面管理。(2)基本功能
①基础信息设置:包括车辆类型、车辆名称、租赁模式等的设置。②信息管理:车辆信息、司机信息、客户信息的维护和查询。
③业务管理:对业务进行管理和查询,包括汽车预约、出租、续租、催车还交、还车结算等。
④租金统计:可以进行当天租金统计和一定时间段的租金统计。⑤系统管理:包括系统维护、权限设置、更改密码等。
课题15 学生成绩管理系统
(1)基本要求
学校希望建立一个学生成绩在线公布系统,对学生成绩信息进行存储、管理和发布,并能通过分类、查询、统计等操作从数据库中获取有效信息,在方便学生了解自己各科考试成绩的同时,各院系可对学生成绩有直接和明确的掌握。
(2)基本功能
①系统设置:考试科目、等级分值等参数的设置、权限设置、更改密码等。②学生查询:通过学号和密码,学生可查询每学期各科成绩。
③成绩录入:提供学生成绩的添加功能,并能从表格和其他数据库文件中导入信息。④信息更新:提供学生成绩信息的删除和修改和功能。
⑤信息统计:按院系、专业、班级分类汇总、统计。可查询学生的成绩分布,不及格人数,最低分、最高分和平均分。
⑥信息打印:主要提供成绩的分类打印功能。
课题16 学生公寓管理系统
(1)系统要求
学校有若干公寓,每栋7层,每层16个房间,每个房间4个床位,需要一个公寓管理系统实现管理。
(2)系统功能
①寝室分配:根据系别、年级、班级分配寝室。查询寝室状态和入住信息。②学生管理:实现入住学生信息的维护和查询功能。③信息查询:按公寓楼号、学生姓名等查询住宿信息。④财产管理:实现对公寓财产的管理功能。
⑤出入登记:实现对学生搬出公寓的货物进行登记和对外来人员进行登记等功能。⑥系统管理:参数设置(如公寓楼号、寝室房号、系别、年级、班级的设置)、权限管理和系统维护(数据备份、数据恢复)。
课题17 学校卫生管理系统
(1)基本要求
某学校结合卫生工作的需要,需开发一个卫生管理系统。(2)基本功能
①卫生工作组成员管理:提供工作组成员信息(职务、工作类型、工作内容等)的维护和查询功能。
②卫生工作安排:提供卫生活动信息(活动名称、地点、内容、人员/单位及负责人等)的维护和查询功能,评定每次卫生活动情况。
③健康教育管理:提供健康教育工作(健康教育计划项目、教育人员、教育内容等)的维护和查询功能。
④学生体检管理:记录每位学生每学期体验各项指标详细情况。
⑤常见病防治管理:提供常见病信息(常见病名称、类型、病发表现、传染性等)的维护和查询功能,记录每个班学生常见病患者情况,统计年级、班级或个人常见病患者情况。
⑥公益献血管理:提供学生献血信息(包括献血量、献血证号和献血时间)的维护和查询功能。
⑦综合体质管理:提供每位学生综合体质信息的维护和查询功能。
课题18 田径运动会管理系统
(1)基本要求
学校希望针对运动会的田径比赛,开发一个田径运动会管理系统。(2)基本功能
①赛前准备:田径运动会规则设置,比赛项目设置,报名表录入,自动分组、分道,输出运动员姓名号码对照表,输出项目分组表。
②比赛管理:实现智能化成绩处理,包括成绩录入、名次判定、运动队成绩统计、团体总分统计等。
③信息查询:破纪录人次统计,按院系、姓名、号码等查询成绩。
④打印报表:各种检录表、成绩单及团体总分表、奖牌榜、决赛成绩总表、破纪录情况表。
课题19 中学生档案管理系统
(1)基本要求
某中学希望对全校学生的档案与成绩实行信息化的管理。(2)基本功能
①学生档案管理:记录每个学生的档案信息,包括一般信息、家庭状况、毕业去向等,支持照片设置。
②完整记录就读历史:学生曾经就读过哪些班级,各班级的组织情况,该学生的历次期末考试成绩等信息。
③班级管理:自由增减班级,记录每个班级所在的届(级)、年级、班主任、任课教师、学生名册等信息。
④成绩管理:记录学生每次考试的各科成绩,可自动计算其总分、平均分。
⑤成绩排序:自由指定排序科目,可按照单科成绩、总分或平均分排序;自由指定排序范围,可按照本班、本年级或全校范围排序。
⑥统计功能:以报表形式输出各班学生成绩明细、各科成绩明细、分数段统计,学生各科成绩、总分、名次等。
课题20 宾馆客房信息管理系统
(1)基本要求
宾馆需要一个客房信息管理系统对旅客住宿情况进行管理。系统分前台管理和后台管理两部分。其中后台管理包括客房信息输入、客房信息查询、前台操作员管理、统计报表等功能;前台管理包括客房预订、入住登记、客房查询、收费管理等功能。
(2)基本功能
①客房信息输入:包括每间客房的大小级别、地理位置、预设租金等信息。②客房信息查询:用于及时掌握客房的安排情况。
③前台操作员管理:用于设置前台操作员的密码和基本信息。
④统计报表:将各类信息进行统计,从而做出正确安排住房的决策。
⑤客房预订:处理各类客户预定请求。预定可以通过各种方式进行(如电话、E-mail、传真等)。前台需要根据当前客房情况,及时反馈给客户预定结果。
⑥入住登记:客户实际入住时,需要及时登记客户信息,以便今后的查询。⑦客房查询:可以根据各种信息查询客房是否入住及入住情况。
⑧收费管理:包括入住的订金,各类其他消费情况和最终的结账管理。
课题21 物流公司管理系统
(1)基本要求
某物流公司希望借助一个管理系统对基础资料、货物信息和车辆调度信息进行管理。(2)基本功能
①基础资料管理:包括部门资料、职务信息、公司资料、员工资料、客户资料、司机资料和车辆资料的维护和查询。
②货物托运管理:对车辆调度信息、托运申请信息、托运信息和验收信息进行管理。③信息查询:货物申请单查询、车辆调度信息查询、货物托运信息查询、货物托运验收查询。
④报表管理:包括货物申请单报表、货物托运单报表和货物验收单报表。⑤系统管理:包括用户管理、数据备份和数据恢复。
课题22 企业人事档案管理系统
(1)基本要求
企业需要利用计算机实现人事档案管理。(2)基本功能
①基本设置:包括民族类型、婚姻状况、政治面貌、文化程度、所学专业、部门类型、职务类型、职称类型等信息的设置功能。
②档案管理:包括员工调动、离职、复职管理,并可实时查询所有变动情况及离职员工原始档案资料。
③统计分析:可按部门、工龄、职务、职称、性别、基本工资、文化程度、民族等方式统计分析员工信息。
④数据维护:包括数据备份、数据恢复和数据初始化。⑤系统管理:包括权限管理、参数设置、修改密码等。
课题23 学校勤工助学管理系统
(1)基本要求
学校希望通过计算机对学生勤工助学活动进行管理,提高工作效率。(2)基本功能
①信息管理:对申请参加勤工助学的学生进行资格审查,并对其基础信息及适合的工种进行登记、维护管理。
②项目管理:对勤工助学的项目进行登记、维护管理。
③助学安排:管理者根据客户提出的需求信息和学生的服务类别和服务能力(水平)来提出安排建议,由双方确认后,记录服务时限、单位时间服务费等,即完成一次分配,不成功重新安排。一个学生同一段时间内只安排一个勤工助学项目。
④查询统计:查询、统计曾经从事勤工助学、正在从事勤工助学、尚未从事勤工助学的学生信息,查询、统计已经完成的勤工助学项目,正在进行的勤工助学项目。按月、学期、年度统计勤工助学的学生个人及总的收入经费。可按院系、年级统计等。
⑤信用管理:记录客户的反馈信息和满意程度,评价学生的信用度。⑥系统管理:包括参数管理、权限设置、更改密码等。
课题24 社区管理系统
(1)基本要求
某街道办事处希望借助社区管理系统实现对社区服务信息化管理。(2)基本功能
①基本情况管理:包括社区概况、居民档案管理。
②社区服务管理:提供居民健康档案、社区文体、志愿者信息管理和下岗职工管理(包括下岗人员档案、上岗培训记录和生活保障金发放)等功能。
③民政工作管理:提供低保管理、残疾人管理、社区团体管理等功能。④综合治理:包括治安管理和纠纷调解记录管理。⑤系统维护:用户管理、系统设置和修改密码。
⑥打印报表:提供最低生活保障、文体活动、社区志愿者和下岗人员统计报表。
课题25 劳务代理收费系统
(1)基本要求
劳动人事代理机构需要一个劳务代理收费系统实现代理业务的管理。(2)基本功能
①基础信息管理:提供单位名称设置、收费项目(人才流动服务费、集体户口管理服务费、档案管理费等)设置、档案类别管理和托管类型(个人托管、私营企业托管、国有企业托管等)管理功能。
②业务登记:提供劳动人事档案托管信息管理、缴费信息管理(以报表形式输出收据)和档案调转注销功能。
③业务查询:根据档案编号或身份证号查询档案托管、缴费信息,按时间段查询缴费信息,按档案类别统计、按托管方式统计、按性别统计、按政治面貌统计、按文化程度统计,以上查询和统计信息以报表形式输出。
课题26 图书借阅管理系统
(1)基本要求
图书借阅管理系统是学校图书馆管理系统的子系统。希望通过图书借阅管理子系统更好的管理图书的借阅、还书情况。
(2)基本功能
①图书信息管理:实现图书信息的录入。
②读者信息管理:实现读者信息的录入。为了标识每一读者,图书馆为每个读者办理借书证,标有读者的个人信息。
③图书查询:查询某读者的借书情况和图书借出情况。
④图书借阅管理:读者查询图书情况后即可借阅所需图书,一次可借阅多种图书,每种图书一般只借一本;每个读者可多次借阅,允许重复借阅同一本书。但借阅图书总数不能超出该读者允许借阅上限数。若已有图书超期请交清罚金后,才能开始本次借阅。
⑤图书归还管理:借阅时要登记相应的借书日期;归还时要记录还书日期;续借相当于归还书后重新借阅。规定借书期限为两个月,超期每天罚二分。
⑥统计报表:统计某图书的总借出数量与库存量、某读者借书总数、当天为止总罚金等。
课题27 邮局报刊订购管理系统
(1)基本要求
邮局希望通过报刊订购管理系统模拟客户在邮局订购报纸的管理内容。(2)基本功能
①报刊查询:查询可订购报刊的详细情况,某客户的订购及报刊的订出情况。
②报刊订购:客户查询报纸情况后即可订购所需报纸,可订购多种报纸、刊物,每种报刊可订若干份,并完成一次订购任务后汇总总金额,模拟付钱、开票,就算完成一次订购。邮局对每种报刊订购人数不限,每个客户可多次订购报刊,所以报刊亦可重复。
③客户管理:为便于邮局投递报刊,需对客户的基本信息(如地址、联系电话等)进行录入、查询、修改等。
④查询统计:查询报刊订购情况、客户情况,统计报刊的总订购数量、总金额,以及某客户订购报刊种数、报刊份数与总订购金额等。
课题28 产品销售管理系统
(1)基本要求
某企业希望通过产品销售管理系统来管理企业在产品销售活动过程中的工作。
包括产品与顾客管理、订货、开票、信贷状况查询、产品销售后的查询、统计等的处理情况。
(2)基本功能
①产品管理:每种产品分配唯一产品号,要反映出产品的基本信息。②顾客管理:每个顾客分配唯一顾客号,要反映出顾客的基本信息。
③订购管理:顾客订购产品由订单反映,每张订单反映出订货的基本信息。某一顾客可任意订单,而某一订单只针对某一顾客;每一订单细节是相对某一订单来说的并只反映一种产品的订购情况,而某一产品能在不同的订单细节中出现。根据顾客对产品的需求,完成一次销售订购处理,即以开发票形式完成对不同产品的订购及金额汇总。
④查询统计:查询某顾客的订购情况、某产品的销售情况以及某顾客的信贷状况。统计出某顾客不同产品的总订购数量与总金额及某产品总销售数量、总销售金额。根据客户预付款、订单付款情况、订单量等来确定顾客信贷状况。
课题29 企业用电管理系统
(1)基本要求
供电局希望通过用电管理系统来管理当地各个企业的用电情况。(2)基本功能
①数据登录:对用电企业、电费信息、企业用电信息等进行管理。②信息维护:对企业信息、电费信息、用电情况等基本数据进行维护。
③查询统计:查询统计各个用电企业的月耗电量以及电费,统计查询各个用电企业的总的谷电量和峰电量,统计该地区的峰谷电量比例以及电费情况;
④系统管理:用户管理、系统设置和修改密码。
课题30 影碟出租管理系统(1)基本要求
某音像租赁商店希望通过影碟出租管理系统对租赁业务进行管理。(2)基本功能
①管理者(店长)模块:查询影碟的信息,查询相关的财务信息,会员的管理。
②营业员(操作员)模块:查询影碟信息,进行影碟的出租,进行影碟的归还,现金的收支记录(会员享有一定折扣率),以及会员的管理。
③顾客模块:一般的顾客(散户)只能进行影碟信息的查询;会员可以查询影碟信息,查询自己的影碟出租日志。
课题31 零售药店管理系统
(1)基本要求
某药店希望通过计算机管理业务,委托开发一个零售药店管理系统。
(2)基本功能
①基础信息管理:药品信息、员工信息、客户信息、供应商信息等; ②进货管理:入库登记、入库登记查询、入库报表等;
③库房管理:库存查询、库存盘点、退货处理、库存报表等; ④销售管理:销售登记、销售退货、销售报表及相应的查询等; ⑤财务统计:当日统计、当月统计及相应报表等; ⑥系统维护:用户管理、系统设置和修改密码。
课题32 车站售票管理系统
(1)基本要求
汽车站希望通过售票管理系统完成对车次的调度、车票的预订、售出和退票等。
(2)基本功能
①车票发售:具有方便、快速的售票功能,包括车票的预订和退票功能,能够支持团体的预订票和退票。
②车讯查询:准确了解售票情况,提供多种查询功能,如车次的查询、时刻表的查询。③车次调度:按情况所需实现对车次的更改、票价的变动及调度功能。
④统计报表:统计当天、每周、每月的总车次、旅客总数、收入总数等,统计分析不同时段的旅客流量,支持车辆调度决策。有完善的报表系统。
⑤系统维护:用户管理、系统设置和修改密码。
课题33 工资管理系统
(1)基本要求
某企业希望通过工资管理系统实现对企业员工的工资核算。(2)基本功能
①人员信息管理:企业员工信息的维护和查询。
②员工考勤管理:管理员工的出勤情况(包括加班、请假、休假等),并提供查询和分类统计功能。
③薪资福利管理:管理员工的薪资和福利(包括当月工资、个人所得税、方法工资历史、员工奖金、员工惩罚等)。
④社会保障管理:管理员工的社保信息(包括单位参保信息、养老保险、医疗保险、住房公积金等),生成社会保险台帐。
⑤系统管理:包括代码管理、参数管理、权限管理、更改密码等。
课题34 客户资源管理系统(1)基本要求
某企业希望通过客户资源管理系统对客户信息进行有效的管理和应用。(2)基本功能
①客户信息管理:实现客户的增加、删除、修改和查询、打印,并提供客户分类查询和管理。
②市场活动管理:针对各部门的活动主题、内容、类型、客户负责员工进行合理安排。③客户服务管理:查看客户的服务请求,管理客服人员的服务内容、类型、处理等级以及客户的反馈信息和满意程度。
④日程提醒管理:对未来事件的主题、日期、内容、处理状态进行维护,以保证及时联系重要客户。
⑤数据管理:导入导出数据,数据备份与恢复。
⑥系统管理:包括代码管理、员工管理、帐号管理、权限管理、更改密码等。
课题35 进销存管理系统
(1)基本要求
某企业希望通过进销存管理系统对商品的进货、销售和库存进行管理,提高业务管理效率。
(2)基本功能
①资料管理:对基础资料(包括商品资料、供货商资料和客户资料等)及合同进行维护管理。
②采购管理:管理企业的的采购业务(包括采购订单、进货单、退货信息、进货价格等)。③销售管理:管理企业的销售业务(包括销售订单、销售退货单、历史查询等)。④库存管理:管理企业的库存信息(包括库存查询、库存盘点、库存上下限报警等)。⑤帐务管理:管理企业的结帐业务,每个月都要进行一次结帐操作,确定该财务月份所有商品的进、销、结存情况,为财务管理提供数据。
⑥系统管理:包括参数管理、权限设置、更改密码等。
课题36 网上教学系统
(1)基本要求
学校需要一个网上教学系统,使教学不受地域限制,拓展教学工作的灵活性,实现课件发布,学生在线提问、教师在线答疑、作业发布等操作。
(2)基本功能
①课程介绍:实现课程介绍和教学大纲的公布、浏览以及在线更新等功能。②课件浏览:学生可以根据章节浏览教学课件。
③课件管理:教师能够自定义教学课件,对课件进行添加、修改和删除等操作。
④作业管理:教师可以针对教学进度安排学生的上机实验,这些内容可以修改更新。教师可以添加、修改、删除每章节的同步练习,学生在做完练习后,系统会根据选择题和填空题的答题结果给出正误判断。
⑤模拟试题:教师可以添加、修改、删除模拟试题。学生可以浏览试题、答题,答题完毕,给出参考答案。
⑥答疑管理:学生可以在线提问,学生留言后,教师可以对留言内容进行管理,针对学生在网页上提交的问题做出相应解答并对答疑的内容进行修订与补充,对内容不符合要求的留言进行更改和删除。
⑦系统登录:系统用户分为管理员、学生和教师等用户。系统登录时血药验证用户的合法性,合法用户可以转入相应页面。
课题37 选课管理系统
(1)基本要求
学校院系每个学期都要开设一定的课程,学生根据自己的情况选课。选课结束后,需要给出学生课表,同时要把选课的名单提供给任课教师,以便进行成绩记载。
(2)基本功能
①教师管理:课程设置申请模块,可以增加新的课程信息(课程号、课程名称、学分、课时、课程简介等信息),删除旧的课程信息,修改已有的课程信息;课程管理模块,可以实现期末成绩的输入和学生名单的打印。
②教务管理:包括课程设置审批模块和教学安排模块。课程设置审批模块可以根据申请内容通过审批或者拒绝请求。教学安排模块分为,选课结果管理,成绩单(学号、学生姓名、课程名称、成绩等信息)生成,并能统计选课人数、最高成绩、最低成绩、平均成绩及及格人数。
③学生管理:包括选课模块、学生课程表模块和成绩查询模块(可以查询本课的最高成绩、平均成绩、最低成绩和名次)。
④系统管理:使用该系统的人员除了教务管理人员,还包括教师和学生。不同的身份对数据库的操作权限不同。为了避免管理的混乱,需要针对不同的角色分别设计客户端应用程序,输入用户名和密码登陆系统后,进行相应的操作。
课题38 网上校友通讯系统
(1)基本要求
学校为方便学生交流,希望开发一个网上校友通讯系统。(2)基本功能
①用户注册:提交用户的注册信息。
②用户登录:提供用户登陆的界面,验证用户标识和密码,确认用户身份。登录后,管理员可以进入管理员模块;一般用户可以访问校友信息检索模块。
③个人信息管理:注册用户对自己的个人信息的管理及修改。
④班级管理:用户登录后,可申请加入已有班级,没有的班级可以建立,创建班级者即为班级管理员。班级管理员可以对用户的注册信息进行检查,批准用户加入班级。
⑤校友信息检索:注册用户可以分类查询和检索其他用户的信息,例如,可以按班级、姓名及入学时间,来查询相匹配的用户信息。为了更好地保证安全性,在访问系统内任何一个页面时,必须再次进行身份验证,避免未登录用户通过输入URL来非法访问系统页面,而对于已登录用户的信息应根据记录的信息进行判断,避免重复输入带来的繁琐操作。
⑥留言:普通注册用户可以提交留言信息,并查看他人的留言。
课题39 网上购物系统
(1)基本要求
商店主希望借助网上系统销售商品,委托开发一个网上购物系统。(2)基本功能
①会员管理:用户申请成为会员,记录会员的详细资料(包括会员编号、会员姓名、会员地址等),方便货物的邮寄。
②用户登录:用户登录后,才可以实现购物功能,查看订单情况。
③商品信息管理:维护商品信息(包括商品编号、商品名称、价格、简介、图片等信息数量等),会员可以查看商品信息。
④购物车管理:用户可以将商品放入自己的购物车(包括购物车编号、商品编号、商品数量等),可以在购物车中添加或删除商品。
⑤订单查询:会员可以查找到自己的所有订单信息(包括订单编号、会员编号、订单日期等)。
⑥商品查找:选择商品分类并输入要查询的商品名称可以查询商品的详细信息。⑦商品分类:对商品分类(包括分类编号、分类名称等),使用户可以在某类商品列表中查看该类所有的商品。
⑧最受欢迎商品:用户可以查看销售量为前5位的商品信息。
课题40 毕业设计管理系统
(1)基本要求
一个院系有若干专业,需要一个毕业设计管理系统对现有的毕业设计工作进行管理。(2)基本功能
①毕业设计管理:为指导教师分配毕业生,设置有效期限(如各阶段设计的提交期限),公布毕业设计公告、要求等。
②毕业生管理:毕业生信息(专业、班级、学号等)的维护和查询。毕业生可根据指导教师研究方向,选择毕业设计题目,在有效期限内提交设计内容(如开题报告、中期检查报告、毕业设计终端等),查看指导教师评语。
③指导教师管理:指导教师信息的维护(研究方向、联系方式等),指导教师可查看所属毕业生设计进度,并对毕业生提交的每阶段的设计内容进行批阅,最后给出毕业设计成绩。
④查询统计:按专业、班级、指导教师等统计信息(如选题情况、设计成绩等)。⑤系统管理:权限管理、系统维护和密码管理。
第二篇:数据库图书管理系统题目
请设计图书管理系统数据库,要求能满足读者的注册、注销、个人信息修改、图书的入库、图书报废、图书的借阅、归还、续约、滞纳金赔偿、损坏赔偿功能
系统中至少包含如下信息:
读者姓名、id、性别、学历(初等、中等、高等)、年龄、职业类别、图书id、图书名称、图书类别(基础类、科技类、文史类、社会科学、自然科学)、图书书龄、所属出版社、图书价格、图书是否完好、图书借阅人、借阅起始时间、图书借阅时长、图书续约(最多可连续续约3次)、图书是否已归还、图书是否已损坏,读者注册级别(分普通读者和vip读者,普通读者同时可以借阅2本书,vip读者可以同时借阅5本书)。
图书系统中,相同的书籍可以不止一本,读者可以同名。一次借阅期限一个月(30天),一次续约延长一个月。过期后每超出一天须缴纳滞纳金一元。图书损毁后就被报废。
1、请用完整、连续的SQL语句设计数据库和表,请根据情理和场景设计各类约束。
2、请查询‘计算机导论’这本书籍的被借阅次数。
3、请查询借书证号为11的读者历年来的借阅次数(不包括续约)。
4、请用一条或者多条语句查询‘计算机导论’这本书籍当前是否可以借阅。
5、请找出最热门的书籍名称(总共借阅次数)。
6、请找出学历中等或中等以上人员关注度比中等以下人员关注度高的书籍。
7、请查询‘王小东’当前可以借阅多少本书。
8、请查询‘王小东’当前共须缴纳多少滞纳金。
9、请统计各职业类别人员的借阅次数。
10、请查阅哪个出版社的书籍借阅频率最高(可以考虑按进行统计)。
11、检索学历比‘王小东’高,年龄比‘王小东’大,而借阅次数比他少的读者id。
12、请查询至少关注过图书类别中3个类别的读者id。
13、请查询‘计算机导论’书籍在各个学历阶层的借阅次数。
14、请将“根据借书证查询所借阅书籍编号和名称”这样的行为以存储过程加以实现。
第三篇:2012-11-2《数据库技术应用》实验报告题目
《数据库技术应用》实验报告题目-2012.31.以自己学号姓名为名称建立一个本班部分学生的学生管理数据库: “xxxxxxxxxxxxxxXXX学生信息库.mdb”;
2.在此库中建立4个实际信息表:“学生表”、“选课表”、“成绩表”和“本学期任课教师表”。其中
学生表的结构为: 学号、姓名、性别、党团员否、专业、高中学校名。第一条记录是自己的,共8条记录。要求对学生表的字体、行高、列宽和颜色等进行格式修改;
选课表的结构为: 学号、姓名、计算机基础课成绩、数据库技术应用课成绩,备注,第一条记录是自己的,共8条记录;
成绩表的结构为: 学号、姓名、专业课平时成绩、考试成绩、按3:7之比算出总评成绩。(可用生成表查询创建)
本学期任课教师表结构为:教师姓名、性别、职称和所教课程名称。在4个表之间至少建立一个“一对一”的关系和一个“一对多”的关系。
3.要求建立5个查询,一个同时显示男女学生的平均成绩,一个显示85分以上的人数,一个显示85分以上的学生全部信息(含成绩),一个交叉表查询和一个操作查询。注意调节查询框大小,打开时应全部可见。
4.在学生管理信息库中建立主子窗体、选项卡窗体、多种控件对象的窗体和报表各一个,主窗体标题为“XXX学生管理信息主窗体”,包含学生表的全部字段;子窗体的标题为“学习成绩”,包含课程表中的姓名、计算机基础课成绩、专业课成绩3个字段;报表标题为“选课报表”;多种控件对象的窗体必须包含7种以上常用控件,必须有本人清楚的实际照片,举例晒晒你自己边学边用的数据库应用实例, 并设置为备注型;选项卡窗体任意。
5.建立一个“切换面板”窗体,要求面板标题为“XXX学生信息管理系统”,窗体中包含五个项目(分别打开前面要求的3个不同窗体和1个报表及1个命令):“学生管理信息”、“学习成绩”、“学生分析信息”和选课报表及“退出系统”,并且在切换面板窗体的左边插入一个有特点的图片。最后调整美化整个切换面板的布局。
6.希望实验报告中有创新元素。
第四篇:案例 数据库管理系统综合应用--
实验十二
数据库管理系统综合应用
-------图书管理系统系统一、实验目的:
通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握所讲解的内容。
二、实验简述:
一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加、删除和修改以及学生借阅、续借、归还的确认。
三、实验要求:
完成该系统的数据库设计;
用SQL实现数据库的设计,并在SQL Server上调试通过。
四、参考答案:
1、需求分析(1)学生
学生的操作流程如图B.1所示。
登录查询书籍预定书籍续借书籍注销图B.1 学生操作分类表
(2)管理员
管理员可完成书籍和学生的增加、删除和修改以及对学生借阅、续借、归还的确认,其操作流程如图B.2所示。
登录书籍信息维护学生信息维护借阅图书确认归还图书确认注销图B.2 管理员操作分类表
2、概念模型设计
数据库需要表述的信息有以下几种:(1)图书信息(2)学生信息(3)管理员信息
(4)学生预定图书信息
(5)学生借阅归还图书信息
可以用E/R模型表述该模型的设计,E/R图如图B.3所示。
姓名学号学生预定续借系别书号借阅作者出版社图书书名归还语种出版年管理员编号姓名图B.3 模型的E-R图
3、逻辑设计
通过E/R模型到关系模型的转化,可以得到如下关系模式:
(1)Book(BookID,Title,Author,Publisher,Pyear,Language)(2)Student(ID,Name,Dept)(3)Assistent(ID,Name)
(4)BBook(BookID,StdID,BDate)(5)RBook(BookID,StdID,RDate)
(6)Lend(StdID,AstID,BookID,LDate)
2(7)Return(StdID,AstID,BookID,RDate)
说明
(1)书号是图书的键码,每本书有惟一的书号,一个学生可同时借阅多本书。一个管理员可处理多个同学的借阅等事宜。
(2)一般情况下,学生、管理员和图书之间的联系为1:1:n,借书关系Lend作为连接关系,其键码为n端实体集的键码,即书号为借书关系的键码。这反映了如果还书时也把当初的借书记录删除,则书号就能惟一识别一个元组。
如果还书时不同时删除借书记录,则意味着同一本书前后可借给不同的学生,于是学生、管理员和图书之间的联系变为m:1:n,这时借书关系的键码为书号和学号的组合。
如果在不删除借书记录的情况下,同一学生再次借同一本书,这时,学生、管理员和图书之间的联系变为m:p:n,于是,借书关系的键码为书号、学号和管理员号的组合。但这里有一个隐含的信息,即同一学生前后两次借同一本书所遇到的管理员不同,而这种不同可能仅仅是“日期”不同。因此,借书日期成了必不可少的成分,也就是说,在这种情况下,属性全集才是借书关系的键码。
总之,借书关系的键码与图书管理模式有关,读者可按照自己的理解确定键码,并编写相应的事务处理流程。其他关系也有类似之处。
(3)要知道图书当前的状态,是在图书馆存放,还是被借阅等,需要在Book的模式中增加对应项用以表示图书当前的状态。比如我们增加State,并且约定取值和状态的对应关系如下:
1)在图书馆中并且没有被预定 2)在图书馆中并且已被除数预定 3)被借出并且没能被预定 4)被借出并且已被预定
4、物理设计
为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引。下面是各表中建立索引的表项:
Book(BookID)
Student(ID)
5、用SQL实现设计(1)建立Book表 CREATE TABLE Book(BookID
varchar(20)PRIMARY KEY,Title
varchar(50)NOT NULL,Author
varchar(50),Publisher varchar(50),Pyear
char(4),Language char(1)DEFAULT ’c’,State
char(1)DEFAULT ’0’);
(2)建立Student表 CREATE TABLE Student 3(ID
varchar(6)PRIMARY KEY,Name
varchar(20)NOT NULL,Dept
varchar(20)NOT NULL);
(3)建立Assistent表 CREATE TABLE Assistent(ID
varchar(6)PRIMARY KEY,Name
varchar(20)NOT NULL,);
(4)建立BBook表 CREATE TABLE BBook(BID
varchar(20)NOT NULL,StdID
varchar(6)
NOT NULL,BDate
datetime
NOT NULL, CONSTRAINT FK_BBOOK_BID
FOREIGN KEY(BID)REFERENCES Book(BookID), CONSTRAINT FK_BBOOK_StdID
FOREIGN KEY(StdID)REFERENCES Student(ID));
(5)建立RBook表 CREATE TABLE RBook(BookID
varchar(20)NOT NULL,StdID
varchar(6)NOT NULL,RDate
datetime
NOT NULL, CONSTRAINT FK_RBOOK_BookID
FOREIGN KEY(BookID)REFERENCES Book(BookID), CONSTRAINT FK_RBOOK_StdID
FOREIGN KEY(StdID)REFERENCES Student(ID));
(6)建立Lend表 CREATE TABLE Lend(StdID
varchar(6)NOT NULL,AstID
varchar(6)NOT NULL,BookID
varchar(20)NOT NULL,4 LDate
datetime
NOT NULL, CONSTRAINT FK_LEND_StdID
FOREIGN KEY(StdID)REFERENCES Student(ID), CONSTRAINT FK_LEND_AstID
FOREIGN KEY(AstID)REFERENCES Assistent(ID), CONSTRAINT FK_LEND_BookID
FOREIGN KEY(BookID)REFERENCES Book(BookID));
(7)建立Return表 CREATE TABLE Return(StdID
varchar(6)NOT NULL,AstID
varchar(6)NOT NULL,BookID
varchar(20)NOT NULL,RDate
datetime
NOT NULL, CONSTRAINT FK_RETURN_StdID
FOREIGN KEY(StdID)REFERENCES Student(ID), CONSTRAINT FK_ RETURN _AstID
FOREIGN KEY(AstID)REFERENCES Assistent(ID), CONSTRAINT FK_ RETURN _BookID
FOREIGN KEY(BookID)REFERENCES Book(BookID));
(8)管理员操作 1)增加学生:
INSERT INTO Student(ID, Name, Dept)VALUES(#StdNo, #Name, #Dept);2)删除学生:
DELETE FROM Student WHERE(ID=#ID);3)修改学生信息:
UPDATE Student SET Name=#Name, Dept=#Dept WHERE(ID=#ID);4)增加书籍:
INSERT INTO Book(BookID, Title, Author, Publisher, Pyear, Language)VALUES(#BookID, #Title, #Author, #Publisher, #Pyear, #Language);5)删除书籍:
DELETE FROM Book WHERE(BookID=#BookID);6)修改书籍信息:
UPDATE Book SET Title=#Title, Author =#Author, Publisher =#Publisher,Pyear =#Pyear, Language =#Language WHERE(BookID=#BookID);7)学生借阅图书: BEGIN TRANSACTION INSERT INTO Lend(StdID, AstID, BookID, LDate)VALUES(#StdID, #AstID, #BookID, #LDate);5 UPDATE BOOK SET State=’2’ WHERE BookID=#BookID COMMIT;8)学生归还图书: BEGIN TRANSACTION INSERT INTO Return(StdID, AstID, BookID, RDate)VALUES(#StdID, #AstID, #BookID, #RDate);UPDATE BOOK SET State=’0’ WHERE BookID=#BookID COMMIT;(9)学生操作 1)预定图书:
CREATE PROC Book_Book
@BookID varchar(20),@StdID char(6), @BDate datetime AS DECLARE @TransName VARCHAR(20)SELECT @TransName=’Book_Book’ BEGIN TRANSACTION @TransName DECLARE @booked int, @book_state_before char(1), @book_state_after char(1)SELECT @booked=count(*)FROM BBook WHERE BID=@BookID IF @booked>0
ROLLBACK TRANSACTION @TransName ELSE BEGIN
SELECT @book_state_before=state FROM Book WHERE BookID=@BookID IF @book_state_before=’0’
SELECT @book_state_after=’1’ ELSE IF @book_state_before=’2’
SELECT @book_state_after=’3’
UPDATE Book SET state=@book_state_after WHERE BookID=@BookID INSERT INTO BBook(BID,StdID,BDate)VALUES(@BookID,@StdID,@BDate)
COMMIT TRANSACTION @TransName END GO 学生预定图书,假设图书已经被预定了,则不允许继续预定。否则的话应该根据图书是在馆内还是被借出去两种情况,修改图书当前的状态。最后在预定表中插入一条记录。修改记录和插入新记录应该发生或都不发生,所以将这个动作封闭成一个事务,保证这个操作的原子性。2)续借图书:
CREATE PROC Renew_Book
@BookID varchar(20),@StdID char(6), @RDate datetime AS DECLARE @TransName VARCHAR(20)SELECT @TransName=’Renew_Book’ BEGIN TRANSACTION @TransName DECLARE @booked int SELECT @booked=count(*)FROM BBook WHERE BID=@BookID 6 IF @booked=0 INSERT INTO RBook(BID,StdID,BDate)VALUES(@BookID,@StdID,@RDate)
COMMIT TRANSACTION @TransName END GO 学生续借图书,假设图书已经被预定了,则不允许续借。否则,在续借记录中插入一条记录就可以了。把这个动作封装成一个存储过程是为了使用方便明了。
由于这个数据库实际上更加偏重于模型化,而不是一个实际环境中的数据库,所以在实现应用模型的时候还需要对这个数据库的模型作一些修改。
6、实验总结
通过这次实验,进一步了解什么情况下使用事务。
(请读者结合自己的实际情况,认真总结自己的收获,体会以及有待改进之处。)
第五篇:数据库面试题目
SQL
(二)数据库面试题
标签:it
提供最全的DBA类, 开发类面试题
数据库面试题: http:///html/category/it-interview/database
Oracle面试题:
MySQL面试题:
SQL Server面试题:
更多面试题请访问: http://
(二)数据库面试题
1. 存储过程和函数的区别?
答:存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。
2. 事务是什么?
答:事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:
原子性:事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
一致性:事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。
隔离性:由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
持久性:事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
3. 游标的作用?如何知道游标已经到了最后?
答:游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。
4. 触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
答:事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次
1,统计函数 avg, count, max, min, sum
1维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么?
答:尽可能用约束(包括CHECK、主键、唯一键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策。
2什么是事务?什么是锁?
答:事务是指一个工作单元,它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行,要么都不执行。
锁是在多用户环境中对数据的访问的限制。SqlServer自动锁定特定记录、字段或文件,防止用户访问,以维护数据安全或防止并发数据操作问题,锁可以保证事务的完整性和并发性。
3什么是索引,有什么优点?
答:索引象书的目录类似,索引使数据库程序无需扫描整个表,就可以在其中找到所需要的数据,索引包含了一个表中包含值的列表,其中包含了各个值的行所存储的位置,索引可以是单个或一组列,索引提供的表中数据的逻辑位置,合理划分索引能够大大提高数据库性能。
4视图是什么?游标是什么?
答:视图是一种虚拟表,虚拟表具有和物理表相同的功能,可以对虚拟表进行增该查操作,视图通常是一个或多个表的行或列的子集,视图的结果更容易理解(修改视图对基表不影响),获取数据更容易(相比多表查询更方便),限制数据检索(比如需要隐藏某些行或列),维护更方便。
游标对查询出来的结果集作为一个单元来有效的处理,游标可以定位在结果集的特定行、从结果集的当前位置检索一行或多行、可以对结果集中当前位置进行修改、5什么是存储过程?有什么优点?
答:存储过程是一组予编译的SQL语句,它的优点有1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。
6什么是触发器?
答:出发器是一种特殊类型的存储过程,出发器主要通过事件触发而被执行的,触发器的优点:1.强化约束,触发器能够提供比CHECK约束。2.跟踪变化,触发器可以跟踪数据库内的操作,从而不允许未经允许许可的更新和变化。3.联级运算,比如某个表上的触发器中包含对另一个表的数据操作,而该操作又导致该表上的触发器被触发。
这是两张表,一张为enployee,另一张是salary表,employee表中有id ,name字段,salary表中有id ,eid ,salary三条字段,在面试的时候数据库是必考题,不管是笔试还是面试一般都不会少的,很多程序员学完面向对象语言后,尤其是许多压根就 不懂计算机的外行,总觉得编程就是唯代码是从,我就见过那么一个哥们,在我耳边总是暗自窃喜说自己学完面向对象的语言后,一下子就少学好多东西,也少去了好多麻烦,比如说什么数据库java封装了,令人头疼的C++指针也被JAVA相关类给取代了,在我们面前的大不了就是引用那么简单了,我听了该怎么说呢,只能为他感到悲哀,剩下我就干脆不说了,但是我奉劝大家,数据库是作为踏入IT或者想在IT行业中有所建树的人,不可忽略甚至是最核心的课程,因为任何复杂程序的设计归根到底是复杂数据库的设计,所以聪明的面试官通常都会将数据库的考核作为你通关的重要环节,现在我就将面试经常出出现的考题代码给大家写出来,不过分析的靠你自己,如果你分析不出来,我就毫不客气的说,你注定不会在IT行业中停留很久,关联人员表、工资表 查询工资最高的三个员工的名字和工资 select e.id ,e.name,s.salary from salary s , employee e where e.id=s.eid order by s.salary desc limit 3;查询工资高于平均工资的员工名字和工资 select e.name,s.salary from employee e,salary s where e.id=s.eid and salary >(select avg(salary)from salary);使用平均值函数查询工资表的平均工资 select avg(salary)from salary;求最高工资 select max(salary)from salary s;使用左联接或右连接查询所有员工的信息和工资 select e.id ,e.name,s.salary from salary s right join employee e on e.id=s.eid order by s.salary desc;查询aa表中相同id2这一列的 值和个数 select *,count(*)from aa group by id2;select id from employee limit 0 ,2;0表示从第几条开始,2 表示取多少条记录; select id form employee limit(当前页-1)*每页的行数,每页的行数;
1.触发器的作用?
答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数
据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
2。什么是存储过程?用什么来调用?
答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。
3。索引的作用?和它的优点缺点是什么?
答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
3。什么是内存泄漏?
答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。
4。维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?
答:我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。
5。什么是事务?什么是锁?
答:事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。
锁:在所以的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。
6。什么叫视图?游标是什么?
答:视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。
游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。
7。为管理业务培训信息,建立3个表:
S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄
C(C#,CN)C#,CN分别代表课程编号,课程名称
SC(S#,C#,G)S#,C#,G分别代表学号,所选的课程编号,学习成绩
(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?
答案:select s# ,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=’税收基础’)
(2)使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位?
答:select sn,sd from s,sc where s.s#=sc.s# and sc.c#=’c2’
(3)使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位?
答:select sn,sd from s where s# not in(select s# from sc where c#=’c5’)
(4)查询选修了课程的学员人数
答:select 学员人数=count(distinct s#)from sc
(5)查询选修课程超过5门的学员学号和所属单位?
答:select sn,sd from s where s# in(select s# from sc group by s# having count(distinct c#)>5)
问题描述:
为管理岗位业务培训信息,建立3个表:
S(S#,SN,SD,SA)S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
C(C#,CN)C#,CN 分别代表课程编号、课程名称
SC(S#,C#,G)S#,C#,G 分别代表学号、所选修的课程编号、学习成绩
1.使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
--实现代码:
Select SN,SD FROM S Where [S#] IN(Select [S#] FROM C,SC Where C.[C#]=SC.[C#] AND CN=N'税收基础')
2.使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
--实现代码:
Select S.SN,S.SD FROM S,SC Where S.[S#]=SC.[S#] AND SC.[C#]='C2'
3.使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
--实现代码:
Select SN,SD FROM S Where [S#] NOT IN(Select [S#] FROM SC Where [C#]='C5')
4.使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
--实现代码:
Select SN,SD FROM S Where [S#] IN(Select [S#] FROM SC RIGHT JOIN C ON SC.[C#]=C.[C#] GROUP BY [S#] HAVING COUNT(*)=COUNT([S#]))
5.查询选修了课程的学员人数
--实现代码:
Select 学员人数=COUNT(DISTINCT [S#])FROM SC
6.查询选修课程超过5门的学员学号和所属单位
--实现代码:
Select SN,SD FROM S Where [S#] IN(Select [S#] FROM SC GROUP BY [S#] HAVING COUNT(DISTINCT
[C#])>5)
题目2:
问题描述:
S(SNO,SNAME)学生关系。SNO 为学号,SNAME 为姓名
C(CNO,CNAME,CTEACHER)课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE)选课关系。SCGRADE 为成绩
1.找出没有选修过“李明”老师讲授课程的所有学生姓名
--实现代码:
Select SNAME FROM S Where NOT EXISTS(Select * FROM SC,C Where SC.CNO=C.CNO AND CNAME='李明' AND SC.SNO=S.SNO)
2.列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
--实现代码:
Select S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE)FROM S,SC,(Select SNO FROM SC Where SCGRADE<60 GROUP BY SNO HAVING COUNT(DISTINCT CNO)>=2)A Where S.SNO=A.SNO AND SC.SNO=A.SNO GROUP BY S.SNO,S.SNAME
3.列出既学过“1”号课程,又学过“2”号课程的所有学生姓名
--实现代码:
Select S.SNO,S.SNAME FROM S,(Select SC.SNO FROM SC,C Where SC.CNO=C.CNO AND C.CNAME IN('1','2')GROUP BY SNO HAVING COUNT(DISTINCT CNO)=2)SC Where S.SNO=SC.SNO
4.列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号
--实现代码:
Select S.SNO,S.SNAME FROM S,(Select SC1.SNO FROM SC SC1,C C1,SC SC2,C C2 Where
SC1.CNO=C1.CNO AND C1.NAME='1' AND SC2.CNO=C2.CNO AND C2.NAME='2' AND
SC1.SCGRADE>SC2.SCGRADE)SC Where S.SNO=SC.SNO
5.列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩--实现代码:
Select S.SNO,S.SNAME,SC.[1号课成绩],SC.[2号课成绩] FROM S,(Select SC1.SNO,[1号课成绩]=SC1.SCGRADE,[2号课成绩]=SC2.SCGRADE FROM SC SC1,C C1,SC SC2,C C2 Where SC1.CNO=C1.CNO AND C1.NAME='1' AND SC2.CNO=C2.CNO AND C2.NAME='2' AND SC1.SCGRADE>SC2.SCGRADE)SC Where S.SNO=SC.SNO