当前位置:文档之家› 实验8-jdbc数据库访问(优.选)

实验8-jdbc数据库访问(优.选)

实验8-jdbc数据库访问(优.选)
实验8-jdbc数据库访问(优.选)

实验8 JDBC访问数据库

一、实验目的

1. 掌握使用传统的方法访问数据库;

2. 掌握使用数据源的方法访问数据库。

二、实验原理

数据库应用是Web应用开发的一个重要应用。Web应用程序访问数据库有两种方法:传统的方法和使用JNDI数据源的方法。

传统方法访问数据库的步骤是:①加载数据库驱动程序;②建立连接对象;③创建语句对象;④获得结果集;⑤关闭有关连接对象。

使用数据源访问数据库的步骤是:①配置数据源(局部数据源或全局数据源);②通过JNDI机制查找命名数据源;③通过数据源对象创建连接对象;④其他与传统方法一致。

三、实验内容与步骤

(一)使用传统方法通过JSP页面访问数据库

【步骤1】创建数据库。假设在PostgreSQL建立了一个名为bookstore的数据库,在其中建立books表,代码如下:

CREATE TABLE books (

bookid character(5) PRIMARY KEY, --书号

title varchar2(80), --书名

author character varying(20), --作者

publisher character varying (40), --出版社

price real --价格

);

向books表中插入几条记录,代码如下:

INSERT INTO books V ALUES

('204','Head First Servlets & JSP', 'Bryan Basham', '中国电力出版社',98.00);

INSERT INTO books V ALUES

('201', 'Servlets 与JSP 核心教程', 'Hall Marty','清华大学出版社',45);

INSERT INTO books V ALUES

('202', 'Tomcat与Java Web 开发技术祥解', '孙卫琴', '机械工业出版社',45);

INSERT INTO books V ALUES

('203', 'JSP 应用开发技术', '柳永坡','人民邮电出版社',52);

INSERT INTO books V ALUES

('205', 'J2EE 1.4 编程指南', 'Spielman Sue','电子工业出版社',68);

注意:需要将数据库的JDBC驱动程序安装到应用程序的WEB-INF\lib目录中。

【步骤2】使用下面JSP页面displayBooks.jsp访问books表中的数据。

<%@ page contentType="text/html; charset=gb2312" %>

<%@ page import="java.sql.*"%>

Database Access Test

<%

try {

Class.forName("org.postgresql.Driver");

String dburl = "jdbc:postgresql://localhost:5432/bookstore";

Connection conn = DriverManager.getConnection(dburl, "bookstore",

"bookstore");

Statement stmt = conn.createStatement();

String sql = "SELECT * FROM books" ;

ResultSet rs = stmt.executeQuery(sql);

out.println("

");

out.println("

");

while (rs.next()){

out.println("

");

}

out.println("

书号书名作者价格

"+ rs.getString(1)+""+ rs.getString(2)

+"

"+ rs.getString(3)

+"

"+ rs.getString(5)+"
");

rs.close();

stmt.close();

conn.close();

}catch (Exception e) {

out.println(e.getMessage());

}

%>

运用mysql的代码如下:

<%@ page contentType="text/html; charset=gb2312"%>

<%@ page import="java.sql.*"%>

Database Access Test

<%

try {

Class.forName("com.mysql.jdbc.Driver");

String dburl = "jdbc:mysql://localhost:3306/bookstore";

Connection conn = DriverManager

.getConnection(dburl, "root", "");

Statement stmt = conn.createStatement();

String sql = "SELECT * FROM books";

ResultSet rs = stmt.executeQuery(sql);

out.println("

");

out.println("

");

while (rs.next()) {

out.println("

");

}

out.println("

书号书名作者价格
" + rs.getString(1) + ""

+ rs.getString(2) + "

" + rs.getString(3)

+ "

" + rs.getString(5) + "
");

rs.close();

stmt.close();

conn.close();

} catch (Exception e) {

out.println(e.getMessage());

}

%>

图1 displayBooks.jsp

(二)通过数据源访问数据库

注意:需要将数据库的JDBC驱动程序安装到Tomcat安装目录的\lib目录中,并重新启动Tomcat服务器。

【步骤1】建立局部数据源

在Web应用程序中建立一个META-INF目录,在其中建立一个context.xml文件,内容如下:

name="jdbc/bookDS"

type="javax.sql.DataSource"

maxActive="4"

maxIdle="2"

username="bookstore"

maxWait="5000"

driverClassName="org.postgresql.Driver"

password="bookstore"

url="jdbc:mysql://localhost:3306/bookstore"/>

【步骤2】使用下面的JSP页面displayBooks.jsp访问数据库

<%@ page contentType="text/html; charset=gb2312" %>

<%@ page import="java.sql.*, javax.sql.*,javax.naming.*"%>

DataSource Test

<%

try {

Context context = new InitialContext();

DataSource ds = (DataSource)

context.lookup("java:comp/env/jdbc/bookDS");

Connection conn = ds.getConnection();

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("SELECT * FROM books");

out.println("

");

out.println("

");

while (rs.next()){

out.println("

");

}

out.println("

书号书名作者价格

"+ rs.getString(1)+""+ rs.getString(2)

+"

"+ rs.getString(3)

+"

"+ rs.getString(5)+"
");

rs.close();

stmt.close();

conn.close();

}catch (Exception e) {

out.println(e.getMessage());

}

%>

图2 displayBooks.jsp

(三)综合应用。本实验采用MVC设计模式,通过数据源和DAO对象访问数据库。其中JavaBeans实现模型,访问数据库,Servlet实现控制器,JSP页面实现视图。

?模型包括2个JavaBean:BookBean用于存放图书信息,BookDAO用于访问数据库。

?控制器包括2个Servlet:BookQueryServlet根据请求参数查询图书信息、BookInsertServlet用来向数据库中插入数据。

?视图包括4个JSP页面:bookQuery.jsp显示查询页面、bookInsert.jsp显示插入页面、display.jsp显示查询结果页面和errorPage.jsp显示错误页面。

【步骤1】存放图书信息的JavaBeans代码BookBean.java,它也是一个传输对象。

package com.beans;

import java.io.*;

public class BookBean implements Serializable{

private String bookid = null;

private String title = null;

private String author = null;

private String publisher = null;

private float price = 0.0F;

public BookBean(){}

public BookBean(String bookId, String author,

String title, String publisher, float price) {

this.bookid = bookId;

this.title = title;

this.author = author;

this.publisher = publisher;

this.price = price;

}

public String getBookid() { return this.bookid; }

public String getTitle() { return title; }

public String getAuthor() { return this.author; }

public float getPrice() { return price; }

public String getPublisher () { return publisher; }

public void setBookid(String bookid){ this.bookid=bookid; }

public void setTitle(String title){this.title=title; }

public void setAuthor(String author){ this. author = author; }

public void setPrice(float price){this.price=price; }

public void setPublisher (String publisher){ this.publisher = publisher;}

}

【步骤2】下面的BookDAO是一个简单的JavaBeans,它实现数据库的访问。package com.beans;

import java.sql.*;

import javax.sql.*;

import javax.naming.*;

import java.util.ArrayList;

import com.beans.BookBean;

public class BookDAO{

private static InitialContext context= null;

private DataSource dataSource = null;

public BookDAO(){

try{

if(context == null){

context = new InitialContext();

}

dataSource = (DataSource)context.lookup("java:comp/env/jdbc/bookDS");

}catch(NamingException e2){

}

}

// 根据书号查询图书信息

public BookBean searchBook(String bookid){

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rst = null;

BookBean book = new BookBean();

try{

conn = dataSource.getConnection();

pstmt = conn.prepareStatement("SELECT * FROM books WHERE bookid=?");

pstmt.setString(1,bookid);

rst = pstmt.executeQuery();

if(rst.next()){

book.setBookid(rst.getString("bookid"));

book.setTitle(rst.getString("title"));

book.setAuthor(rst.getString("author"));

book.setPublisher(rst.getString("publisher"));

book.setPrice(rst.getFloat("price"));

return book;

}else{

return null;

}

}catch(SQLException se){

return null;

}finally{

try{

conn.close();

}catch(SQLException se){

}

}

}

// 插入一本图书记录

public boolean insertBook(BookBean book){

Connection conn = null;

PreparedStatement pstmt = null;

try{

conn = dataSource.getConnection();

pstmt = conn.prepareStatement(

"INSERT INTO books VALUES(?,?,?,?,?)");

pstmt.setString(1,book.getBookid());

pstmt.setString(2,book.getTitle());

pstmt.setString(3,book.getAuthor());

pstmt.setString(4,book.getPublisher());

pstmt.setFloat(3,book.getPrice());

pstmt.executeUpdate();

pstmt.close();

return true;

}catch(SQLException se){

return false;

}finally{

try{

conn.close();

}catch(SQLException se){ }

}

}

}

【步骤3】下面的JSP页面bookQuery.jsp实现根据书号查询图书信息

<%@ page contentType="text/html; charset=gb2312" %>

Book Query

请输入一个书号:


图3 bookQuery.jsp

【步骤4】下面的JSP页面bookInsert.jsp实现向数据库中插入数据

<%@ page contentType="text/html; charset=gb2312" %>

Book Insert

请输入图书信息:

<% if(request.getAttribute("result")!=null)

out.print(request.getAttribute("result"));

%>

书号
书名
作者
出版社
单价

图4 bookInsert.jsp

图5 插入成功

【步骤5】显示查询结果的JSP页面display.jsp:

<%@ page contentType="text/html;charset=gb2312"%>

书号:

书名:

作者:

出版社:

价格:

图6 显示查询结果

【步骤6】错误页面errorPage.jsp代码如下:

<%@ page contentType="text/html;charset=gb2312"%>

对不起,您查的图书不存在!

图7 显示错误页面

【步骤7】下面的Servlet实现从请求参数获得书号,然后从数据库中查找该书,最后根据查询结果将请求转发到显示页面(display.jsp)或错误页面(errorPage.jsp)。

package com.control;

import java.io.*;

import java.sql.*;

import javax.servlet.*;

import javax.servlet.http.*;

import com.beans.BookBean;

import com.beans.BookDAO;

public class BookQueryServlet extends HttpServlet{

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

String bookid = request.getParameter("bookid");

BookDAO bookdao = new BookDAO();

BookBean book = bookdao.searchBook(bookid);

if(book!=null){

request.getSession().setAttribute("book", book);

RequestDispatcher view = request.getRequestDispatcher("/display.jsp");

view.forward(request, response);

}else{

RequestDispatcher view = request.getRequestDispatcher("/errorPage.jsp");

view.forward(request, response);

}

}

}

【步骤8】下面的Servlet实现向数据库插入数据,并将控制请求的转发到bookInsert.jsp

页面。

package com.control;

import java.io.*;

import java.sql.*;

import javax.servlet.*;

import javax.servlet.http.*;

import com.beans.BookBean;

import com.beans.BookDAO;

public class BookInsertServlet extends HttpServlet{

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

request.setCharacterEncoding("gb2312");

String message = null;

BookBean book = new BookBean(

request.getParameter("bookid"),request.getParameter("title"),

request.getParameter("author"),request.getParameter("publisher"),

Float.parseFloat(request.getParameter("price"))

);

BookDAO bookdao = new BookDAO();

boolean success = bookdao.insertBook(book);

if(success){

message = "成功插入一条记录!";

}else{

message = "插入记录错误!";

}

request.setAttribute("result",message);

RequestDispatcher view = request.getRequestDispatcher("/bookInsert.jsp");

view.forward(request, response);

}

}

【步骤9】在DD文件中部署Servlet,将下列代码添加到DD文件的适当位置:

bookQuery

com.control.BookQueryServlet

bookInsert

com.control.BookInsertServlet

bookQuery

/bookquery.do

bookInsert

/bookinsert.do

四、思考题

1. 简述使用数据源访问数据库一般步骤。

答:数据库连接的一般步骤是:

(1)加载JDBC驱动程序。

(2)建立连接对象。

(3)创建语句对象,语句对象有3种:Statement、PreparedStatement和CallableStatement。

(4)执行SQL语句得到结果集对象,调用ResultSet的有关方法就可以完成对数据库的操作。

(5)关闭建立的各种对象。

2. 简述使用数据源访问数据库比使用传统方法的优点。

答:使用数据源是目前Web应用开发中建立数据库连接的首选方法。这种方法是事先建立如干连接对象,存放在连接池中。当应用程序需要一个连接对象时就从连接池中取出一个,使用完后再放回连接池。这样就可避免每次请求都创建连接对象,从而降低请求的响应时间,提高效率。

最新文件---------------- 仅供参考--------------------已改成word文本--------------------- 方便更

实验:数据库综合查询

实验六:数据库综合查询 一、实验目的 1.掌握SELECT语句的基本语法和查询条件表示方法; 2.掌握查询条件种类和表示方法; 3.掌握连接查询的表示及使用; 4.掌握嵌套查询的表示及使用; 5.了解集合查询的表示及使用。 二、实验环境 已安装SQL Server 2005 企业版的计算机(13台); 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解SELECT语句的基本语法格式和执行方法; 2.了解连接查询的表示及使用; 3.了解嵌套查询的表示及使用; 4.了解集合查询的表示及使用; 5.完成实验报告; 五、实验内容及步骤 以数据库原理实验5数据为基础,请使用T-SQL 语句实现进行以下操作:1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况; USE student SELECT'课程号'=Cno,'课程名'=Cname,'先行课号'=Cpno,'学分'=Ccredit FROM course WHERE SUBSTRING(Cname,1,3)='DB_'AND SUBSTRING(RIGHT(RTRIM(Cname),3),1,1)='s' 2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;USE student SELECT'姓名'=student.Sname,'学号'=student.Sno,'课程号'=https://www.doczj.com/doc/3811102399.html,o,'课程名'=https://www.doczj.com/doc/3811102399.html,ame FROM student,course,sc

student.Sno=sc.Sno AND https://www.doczj.com/doc/3811102399.html,o=https://www.doczj.com/doc/3811102399.html,o AND SUBSTRING(LTRIM(student.Sname),2,1)='阳' 3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号 及成绩; USE student SELECT '学号'=student.Sno, '姓名'=student.Sname, '所在院系'=student.Sdept, '课程号'=https://www.doczj.com/doc/3811102399.html,o, '成绩'=sc.Grade FROM student,course,sc WHERE student.Sno=sc.Sno AND https://www.doczj.com/doc/3811102399.html,o=https://www.doczj.com/doc/3811102399.html,o AND (https://www.doczj.com/doc/3811102399.html,ame='数学'OR https://www.doczj.com/doc/3811102399.html,ame='大学英语') 4.查询缺少成绩的所有学生的详细情况; USE student SELECT student.* FROM student,sc

实验七 数据库的更新及视图的定义与维护

实验七数据的更新及视图的定义与维护 一.实验目的 1.掌握使用SQL语言向数据库中插入数据、修改数据和删除数据等更新操作 2.掌握视图的定义与维护操作 3. 加深对视图在关系数据库中的作用的理解 二.实验准备 1.装有SQL Server 2005的PC机。 2. 成功创建各数据库、数据库表、并已插入各种数据。 三.实验内容1 1.打开“SQL Server Management Studio”窗口 2.创建学生选课数据库“S_T” 3.在学生选课数据库中完成以下插入数据的操作: (1)将一个新学生元组(学号:200215128;姓名:陈东;性别:男;年龄:18;所在系:IS)插入学生表中; (2)插入一条选课记录(‘200215128’,1); (3)对每一个系,求学生的平均年龄,并把结果存入数据库。 提示:首先在学生-选课数据库中建立一个新表,其中一列存放系名,另一列存放相应的学生平均年龄;然后对student表按系分组求平均年龄,再把系名和 平均年龄存入新表中。 4.在学生选课数据库中完成以下修改数据的操作: (4)将学生200215121的年龄改为22岁; (5)将所有学生的年龄增加一岁; (6)将计算机科学系全体学生的成绩置零; 5.在学生选课数据库中完成以下删除数据的操作: (7)删除学号为200215122的学生记录; (8)删除所有的学生选课记录; (9)删除计算机科学系所有学生的选课记录 四.实验内容2 1. 在学生选课数据库中完成以下创建视图的操作: (1)建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生; (2)建立信息系选修了“1”号课程的学生视图; (3)建立信息系选修了“1”号课程且成绩在90分以上的学生视图; (4)定义一个反映学生出生年份的视图; (5)将学生的学号及他的平均成绩定义为一个视图; (6)将Student表中所有女生记录定义为一个视图; 2. 在学生选课数据库中完成以下删除视图的操作: (7)选择一个您所建的视图进行删除; 3. 在学生选课数据库中完成以下查询视图的操作: (8)在信息系学生的视图中找出年龄小于20岁的学生; (9)查询选修了1号课程的信息系学生;

数据库SQL查询例题及解答

1 实验目的 1.熟悉数据库的交互式SQL工具。 2.熟悉通过SQL对数据库进行操作。 3.完成作业的上机练习。 2 实验工具sql server 利用Sql server及其交互式查询工具-查询分析器来熟悉SQL。 3 实验内容和要求 1)实验内容: 创建数据库boat,包括Sailors,Boats,Reserves三个表,表结构如下: Sailors(sid: integer, sname: string, rating: integer, age: real) 船员(船员编号,姓名,级别,年龄) Boats(bid: integer, bname: string, color: string) 船(船编号,名称,颜色) Reserves(sid: integer, bid: integer, day: date) 租赁(船员编号,船编号,日期) (注:下划线表示主键),并插入一定数据。 2)完成下列要求:

(1)查询所有船员的信息 (2)查询所有姓王的船员的信息 (3)查询租用过103号船的船员姓名 (4)查找租用过船只的船员编号 (5)查找rating>7且年龄>25的水手编号 (6)查找租用过红船和绿船的水手名字 (7)查找租用过红船或绿船的水手编号 (8)查找最年长的水手的年龄和名字 (9)在18岁以上水手中,对于每个rating级别中最少有两个水手以上的组中最年轻水手的年龄 (10)查找每条红色船只被租用的次数 (11)把30岁以上船员的级别调高一级 (12)删除所有年龄超过40岁的船员信息 (13)建立年龄超过25岁的船员的视图 (14)对(13)建立的视图,举一操作的例子(查询、删除、修改均可) 2)要求: a.建立boat数据库的SQL脚本,插入所有数据项的SQL脚本(包括所有的测试数据)。 b.记录完成查询要求的SQL语句脚本。 c.记录完成查询的查询结果。

数据库 教务管理系统 综合实验报告

华北科技学院计算机系综合性实验 实验报告 课程名称《数据库系统A》 实验学期2011 至2012 学年第 2 学期学生所在系部计算机学院 年级2010 专业班级网络B101班 学生姓名学号 任课教师 实验成绩 计算机系制

《数据库系统A》课程综合性实验报告 一、实验目的 利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。 二、设备与环境 (1) 硬件设备:PC机一台 (2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2008等。 三、实验内容 1.需求分析 首先,通过调查,教务管理系统中主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。对应这些用户,其处理要求的主要的功能就是进行一系列的查询和各类数据的管理及维护。其具体的处理要求如下: 1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销等功能。 2)教务管理:实现教务管理人员对系统的管理,包括课程安排,成绩审核,学生成绩管理,学生学籍管理等功能。 3)基本信息:实现显示学生和老师以及课程、班级、系别的基本信息(包括学生基本信息,教师基本信息,课程基本信息等)。 4)查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带班的学生,自己的课表以及学生成绩等。 5)教师对成绩的录入以及自己信息的查询与维护。 其次,该教务管理系统中,结合以上用户种类以及其具体的处理功能要求,教务管理系统要具备以下信息要求: 教务管理系统涉及的实体有: 教师——工作证号、姓名、电话、工资、邮箱; 学生——学号、姓名、性别、年龄、系代号等; 班级——班号、最低总学分等; 系——系代号、系名和系办公室电话等; 课程——课序号、课名、学分、最大人数等; 其中,这些实体之间的联系如下: 每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。 每个班的班主任都由一名教师担任 一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据库原理实验6数据更新操作

实验六数据更新操作 1 实验目的与要求 (1)掌握基本表的INSERT、UPDATE、DELETE操作。 (2)正确理解更新操作中涉及到的相关约束问题。 2 实验内容 根据BookDB中4张关系表,完成以下更新操作: (1) 分别给这4张表添加信息,要求图书分类表、图书表、读者表各插入5个元组,借阅表插入20个元组。 答:详细见BookDB.sql (2) 将联合股份有限公司的读者工作单位修改为联合立华股份有限公司。 update Reader48 set workunit48='联合立华股份有限公司' where workunit48='联合股份有限公司'

(3) 将入库数量最多的图书单价下调5%。 update Book48 set price48=price48*0.95 where shopNum48=(select max(shopNum48) from Book48) (4) 将“经济类”的图书单价提高10%。 update Book48 set price48=price48*1.1 where classNo48=(select distinct a.classNo48 from Book48 a, BookClass48 b where a.classNo48=b.classNo48 and b.className48='经济类') (5) 将借阅次数高于2次的图书数量增加50%。 update Book48 set shopNum48=shopNum48*1.5 where bookNo48 in( select bookNo48 from borrow48 group by bookNo48 having count(bookNo48)>=2 )

数据库实验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验容及要求 选择如下一个应用背景之一: ●学生选课系统 ●习题3、4、和5中使用的数据库 ●其它你熟悉的应用 (1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。 (2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的容: 3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据

2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例: 建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。 一、数据定义 创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 表2. Course表结构

表3. SC表结构 1.创建、修改及删除基本表 (1)创建Student表 CREATE TABLE Student (Sno CHAR(8)PRIMARY KEY, Sname CHAR(8), Ssex CHAR(2)NOT NULL, Sage INT, Sdept CHAR(20) ); (2)创建Course表 CREATE TABLE Course (Cno CHAR(4)PRIMARY KEY, Cname CHAR(40)NOT NULL, Cpno CHAR(4), Ccredit SMALLINT, ); (3)创建SC表 CREATE TABLE SC (Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno), Cno CHAR(4), Grade SMALLINT, ); (4)创建员工表Employee

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 4.完成用户界面的设计,对重要数据进行加密。

实验6 数据库的更新实验

实验6 数据库的更新实验 1.实验目的 本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。 2.实验时数2学时 [相关知识] SQL Server提供了很多方法更新表中数据。以插入记录为例,可以使用INSERT语句、V ALUES子句将特定值集合插入一行;可以使用数据库接口API(ADO、OLE DB、ODBC和DB-Library)中的函数进行数据插入等。本实验主要掌握INSERT、UPDATE 和DELETE语句的基本用法。 ●插入操作,其语句的一般格式为 INSERT INTO table_or_view [(colum_list)] V ALUES (date_values); 此语句是使date_values作为一行数据记录插入已命名的表或视图table_or_view中。 Column_list是由逗号分隔的table_or_view的列名列表,用来指定为其提供数据的列。 如果没有指定column_list,表或视图中的所有列都将接收数据。 如果column_list没有为表或视图中的所有列命名,将在列表中没有命名的任何列中插入一个NULL值(或者在默认情况下为这些列定义的默认值)。在列的列表中没有指定的所有列都必须允许NULL值或者指定的默认值。否则SQL Server将返回一个错误。 ●修改操作语句的一般格式为 UPDATE 表名 SET <列名>=<表达式>[,<列名>=<表达式>]…… [where <条件>]; 其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句用于指定修改方法,即用<表达式>的值取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组。 ●删除语句的一般格式为 DELETE FROM <表名> [WHERE <条件>]; 其功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句,则表示要删除表中的所有元组,但表的定义仍在字典中。 3.实验内容 通过企业管理器,在学生选课数据库的学生、课程和选课3个表中各输入10条记录。 要求记录不仅满足数据约束要求,还要有表间关联的记录。 具体完成以下例题。将它们转换为SQL语句表示,在学生选课库中实现其数据更新操作。 例1 将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中。

数据库实验题目和答案

按照如下方式重新定义四张表: 定义新的books表,其所拥有的属性与属性类型与原有的books表一致 以列级完整性的方式定义属性bookId为主码,同时在定义的时候必须提供约束名 定义属性category为”非空” ,同时在定义的时候必须提供约束名 create table Books( bookId number(9,0) constraint BooksKey primary key, title varchar(80), author varchar(40), year integer, category varchar(15) constraint B1 not null ); commit; 定义新的customers表,其所拥有的属性与属性类型与原有的customers表一致 以表级完整性的方式定义属性cid为主码 以列级完整性的方式定义属性cname为”唯一”,同时在定义的时候必须提供约束名 create table Customers ( cid number(9,0), cname char(40) constraint C1 unique, age integer, primary key(cid) ); commit; 定义新的purchases表,其所拥有的属性与属性类型与原有的purchases表一致 定义属性cid与bookId为主码,同时在定义的时候必须提供约束名 以列级完整性的方式定义属性bookId为外码,它参照Books表的主码,同时在定义的时候必须提供约束名。当删除Books表中的某一本书时,级联删 除与它相关的购买记录 以表级完整性的方式定义属性cid为外码,它参照customers表,同时在定义的时候必须提供约束名。当删除customers表中的某个顾客时,如果存在 与该客户相关的购买记录,拒绝删除。 create table Purchases( cid number(9,0), bookId number(9,0)

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

数据库综合实验报告(学生成绩管理系统)

数据库综合实验报告 班级:计科*** 班 学号: **** 姓名: *** 2011年12月

数据库应用系统的初步开发 一、实验类别:综合型实验 二、实验目的 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握基于C/S 的数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 三、实验内容 在SQL Server2000数据库管理系统上,利用 Microsoft Visual C++ 6.0开发工具开发一个学生成绩管理系统的数据库应用系统。 四、实验过程 (一.)系统需求说明 1 系统功能要求设计:此系统实现如下系统功能: (1)使得学生的成绩管理工作更加清晰、条理化、自动化。 (2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。 容易地完成学生信息的查询操作。 (3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。 2 系统模块设计 成绩管理系统大体可以分成二大模块如, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图: 登陆失败 退出系统 用户 验证 登陆成功

3 数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下: 数据库中用到的表: 数据库表名关系模式名称备注 Student 学生学生学籍信息表 Course 课程课程基本信息表 Score 成绩选课成绩信息表 Student基本情况数据表,结构如下: 字段名字段类型Not Null 说明 Student _sno Char Primary key 学号 Student _sn char Not Null 学生姓名 Student _sex char ‘男’或‘女’性别 Student _dept char 系别 Student_age char 年龄 Student_address char 地址 course数据表,结构如下: 字段名字段类型约束控制说明 course_cno char 主键(primary key)课程号 char not null 课程名称course_cnam e course_hour int not null 课时 course_score numeric(2,1) not null 学分 score情况数据表,结构如下: 字段名字段类型约束控制说明 score_id int not null 成绩记录号 course_cno char 外部键课程号 student_sno char 外部键学号 score int 成绩 (二)数据库结构设计 1.概念结构设计 由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别,地址,年龄,专业。 (2)课程基本信息:课程名,课程号,分数,学时,学分。

大数据库系统应用与开发--实验二

实验二JDBC基础(1) 一、相关知识点 1、JDBC基本概念 2、java连接数据库的方式 3、JDBC简单查询 二、实验目的: 理解Java连接数据库的基本概念。理解JDBC的四种驱动程序,掌握纯java驱动和jdbc-odbc驱动。理解Statement对象和ResultSet对象。 三、实验内容: 1、将booklib应用的JDBC驱动程序改成JDBC-ODBC驱动方式。 第一步:设置ODBC数据源;

第二步:修改DBUtil类中的相关代码;

第三步:运行程序 【实验结果与分析】 A、说明需要修改DBUtil类的哪些地方,及修改原因? private static final String jdbcUrl="jdbc:odbc:cjeSQL"; 因为booklib应用的驱动方式是jdbc-odbc驱动 2、利用Statement对象和Result对象实现按出版社名称精确查询出版社功能(精确查 询是指查询的目标和查询条件中值完全相同的数据)。 第一步:在https://www.doczj.com/doc/3811102399.html,.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。 第三步:启动booklib主程序,在出版社管理中录入几个出版社 第四步:清空https://www.doczj.com/doc/3811102399.html,.zucc.booklib.control. PublisherManager类中的main函数现有内

数据库更新操作命令实验

实验六更新操作命令 实验目的:掌握第三代高级语言(如C语言)中嵌入式SQL数据库数据操作方法,能 清晰地领略到SQL命令在第三代高级语言中操作数据库数据的方式和方法,这种方式和方法在今后各种数据应用系统开发中将被广泛的采用。 掌握嵌入了SQL语句的C语言程序的上机过程包括:编辑、预编译、连接、修改、调试与运行等内容。 实验内容: 步骤: 将VC98和esqlc两文件放入C盘根目录 启动“MS-DOS”窗口,执行如下命令,使当前盘为C,当前目录为esqlc C: 设置系统环境变量值,执行如下批处理命令: Setenv 执行如下批处理命令:run main 输入程序名 MAIN 回车 连接到数据库 创建教师表 修改,添加 修改:

添加: 代码: int create_teacher_table()

{ char yn[2]; EXEC SQL BEGIN DECLARE SECTION; char tname[21]="xxxxxxxxxxx"; EXEC SQL END DECLARE SECTION; EXEC SQL SELECT name into :tname FROM sysobjects WHERE (xtype = 'U' and name='student'); if (SQLCODE == 0||strcmp(tname,"teacher")==0) { printf("The teacher table already exists,Do you want to delete it?\n",SQLCODE); printf("Delete the table?(y--yes,n--no):"); scanf("%s",&yn); if (yn[0]=='y' ||yn[0]=='Y'){ EXEC SQL drop table teacher; if (SQLCODE == 0) { printf("Drop table teacher successfully!%d\n\n",SQLCODE); } else { printf("ERROR: drop table teacher %d\n\n",SQLCODE); } } else return -1; } EXEC SQL CREATE TABLE teacher ( sno char(5) NOT null primary key, sname char(6) null , ssex char(2) null , sage int null , sdept char(2) null) ; if (SQLCODE == 0) { printf("Success to create table teacher!%d\n\n",SQLCODE); } else { printf("ERROR: create table teacher %d\n",SQLCODE); } EXEC SQL begin transaction insert into teacher values("T9501", "李斌", "男",26, "CS") insert into teacher values("T9502", "赵霞", "女",30, "IS") insert into teacher values("T9503", "周淘", "男",27, "CS")

数据库实验八综合性实验报告

华南农业大学综合性设计性 实验报告 实验名称:数据库设计 项目性质:综合性设计性实验 所属课程:数据库系统概念 开设时间:2015-2016学年第1学期学生班级: 指导教师: 2015年12月12日

华南农业大学数学与信息学院 综合性、设计性实验成绩单 开设时间:2015-2016学第一学期

一、设计部分 1.需求分析 1.1 用户需求概述 本系统为图书管理系统数据库,该系统开发的主要目的是对大学图书馆的图书信息进行记录统计管理。具体完成录入图书信息,录入借还书记录,录入读者信息等功能。需要完成的主要功能有: 1)学生信息录入 该功能供图书馆管理员使用,学生首次借阅图书前,必须登记并录入个人身份信息,内容包括:学号、姓名、联系电话。 2)图书信息录入 该功能供图书馆管理员使用,对于首次入库的新书,必须录入图书目录资料,内容包括:图书编号、书名、作者、出版社、简介。 3)借书记录录入 该功能供图书馆管理员使用,读者凭校园卡到柜台办理借书手续,由图书馆管理人员录入借书记录,内容包括:日期、学号、图书编号。 对读者借阅图书的限制条件包括: ①读者一次可借阅1-3本图书, ②借出未还的图书,累计不得超出5本; ③没有逾期未归还的图书,从借出之日开始计算,超过90天尚未归还则视为逾期。 4)还书记录录入 该功能供图书馆管理员使用,读者凭校园卡到柜台办理归还借书手续,由图书馆管理人员录入还书记录,内容包括:日期、学号、图书编号。学生可以一次归还1至多册所借阅的图书。 5)图书信息查询 该功能供学生使用,学生自行输入书名、作者、出版社等信息作为查询条件,

系统列出满足查询条件的图书目录。 6)学生信息查询 该功能供图书馆管理人员使用,操作人员输入学生学号,系统列出该学生的个人信息、以及历次的借阅/归还图书记录。 1.2 数据需求

数据库实验报告

计算机与信息学院 实验报告 专业班级 计科3班 学生姓名及学号 2014217151 李勤阳课程教学班号 任课教师 实验指导教师 实验地点 计算机楼303 20 16 ~20 17 学年第一学期

实验一数据库的创建和删除 一. 实验目的: 1. 了解SQL Server数据库的环境。 2. 掌握使用SQL 语句创建数据库的方法。 二.实验要求 1. 掌握通过查询分析器进行交互式SQL语句的使用方法。 2. 理解SQL Server中的共享架构dbo。 3.注意操作结果的截图与保存,供撰写实验报告使用。 三.实验内容 1. 使用SQL语句创建数据库EDUC。 数据库的参数要求: 数据库名称:EDUC 数据库存储路径:将数据库文件存储在D:\jxgl\目录中。 (注,如果该目录不存在,需在D盘新建一个名为jxgl的文件夹) 其他参数要求: 数据文件的初始大小:10M 最大:60M 按5%的比例自动增长。 日志文件的初始大小:4M 最大:10M 增量为1M。 2. 将新创建的数据库设置为当前数据库。 四.实验步骤

1.创建数据库EDUC的SQL语句: 示例:创建数据库userdb1 maxsize=5 , filegrowth=1)create database userdb1 on (name=userdb1_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='d:\sql_data\userdb1.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb1_log, filename='d:\sql_data\userdb1.ldf ' , size=2 , reate database EDUC on (name=EDUC_data, filename='E:\jxgl\EDUC.mdf', size=10, maxsize=60, filegrowth=5%) log on ( name=EDUC_log, filename='E:\jxgl\EDUC.ldf ',

数据库综合实验

数据库原理及应用 -- SQL Server 2000 陈学进于 2010年三月 实验指导书

实验一用E-R图设计数据库 1.实验目的 1)熟悉E-R模型的基本概念和图形的表示方法。 2)掌握将现实世界的事物转化成E-R图的基本技巧。 3)熟悉关系数据模型的基本概念。 4)掌握将E-R图转化成关系表的基本技巧。 2.实验内容 1)根据需求确定实体,属性和联系。 2)将实体,属性和联系转化为E-R图。 3)将E-R图转化为表。 3.实验步骤 1)设计能够表示出班级与学生关系的数据库。 ①确定班级实体和学生实体的属性。 ②确定班级和学生之间的联系,给联系命名并指出联系的类型。 ③确定联系本身的属性。 ④画出班级与学生关系的E-R图。 ⑤将E-R图转化为关系模式,写出各关系模式并标明各自的主码或外码。 2)设计能够表示出顾客与商品关系的数据库。 ①确定顾客实体和商品实体的属性。 ②确定顾客和商品之间的联系,给联系命名并指出联系的类型。 ③确定联系本身的属性。 ④画出顾客与商品关系的E-R图。 ⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的主码或外码。 3)设计能够表示学校与校长关系的数据库。 ①确定学校实体和校长实体的属性。 ②确定学校和校长之间的联系,给联系命名并指出联系的类型。 ③确定联系本身的属性。 ④画出学校与校长关系的E-R图。 ⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的主码或外码。 4)设计能够表示出房地产交易中客户,业务员和合同三者之间关系的数据库。 ①确定客户实体,业务员实体和合同实体的属性。 ②确定客户,业务员和合同三者之间的联系,给联系命名并指出联系的类型。 ③确定联系本身的属性。 ④画出客户,业务员和合同三者关系E-R图。 ⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的主码或外码。 5)学生之间相互交流各自设计的数据库。

数据库系统概论实验设计答案

数据库系统概论 实验报告册 姓名:momo 学号: 教师:

实验一需求分析(一)——业务流程调查 一、实验目的:掌握需求分析的步骤和业务流程调查的方法;掌握应用Powerbuilder绘制BPM模型 二、学时:6H(课内4H,课外2H) 三、实验软件平台:Windows 2k或Windows XP, Powerduilder9.5,Visio 四、实验内容:根据该VCD连锁店的业务需求调查文字,利用PD绘制该VCD连锁店管理系统的BPM 模型。 五、实验结果: 出售租借:根据购买人或租借人提供的VCD租借单,查阅库存,如果有,则办理销售或租借并登记销售或租借流水帐;如果没有相应的VCD,则可根据购买人或租借人的要求办理预约登记,当有VCD时,及时通知购买人或租借人。 归还:根据租借人提供的所还VCD,检查VCD是否完好,如果完好,则办理归还登记,如果有损坏的VCD,办理赔偿登记。并把赔偿通知单通知给租借人。

逾期罚款通知:查询逾期未还的VCD,及时通知租借人,并进行相应的罚款登记。 六、思考题 1、数据库设计为什么需要进行详细的需求分析? 答:需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是不是准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是不是合理使用情况。 2、需求分析的目标是什么?其调查步骤是什么?常用的调查方法有哪些? 答:(1)需求分析的目标: 1.通过详细调查现实世界要处理的对象,充分了解原系统(手工系统或计算机系统)工作概况, 明确用户的各种需求。 2.在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当 前应用需求来设计数据库。 (2) 调查步骤:

相关主题
文本预览
相关文档 最新文档