数据库上机作业3报告

lzy 433 0
数据库上机作业3报告

这次作业主要是练习高级程序设计语言与数据库的连接和简单的SQL。我依然是使用java,主要是因为java是这学期学的,还没考试,能多练练就多练练。数据库这次用的SQL server,换一种试试!

一、DBMS及上层开发语言

使用的数据库产品为微软的SQL server 2019(非本地,挂靠在阿里云服务器:47.93.184.169),数据库管理系统软件为微软官方的Microsoft SQL Server Management Studio 18和navicat for SQL server 12企业版。

开发语言为java,IDE为Netbeans 8.2。

二、所使用的调用数据库的方式

JDBC(Java Data Base Connectivity,java数据库连接)。

三、主要接口、函数说明

1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

加载SQL server驱动,指明通过jdbc方式加载。前提是加载驱动jar包(sqljdbc4.jar)。

2.Connection接口

Connection与特定数据库的连接(会话),在连接上下文中执行sql语句并返回结果。DriverManager.getConnection(url, user, password)方法建立在JDBC URL中定义的数据库Connection连接上。

连接SQL Server数据库:Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://host:port; DatabaseName=database", "user", "password");//用于获得试图建立到指定数据库 URL 的连接,其中host为连接数据库主机,port为端口号(SQL server默认1433),database为连接到的数据库,user为数据库登陆用户名(默认管理员为sa),password为登陆密码。

常用方法:

createStatement():创建向数据库发送sql的statement对象。

prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。

3. Statement接口

用于执行静态SQL语句并返回它所生成结果的对象。

主要使用的Statement类:由createStatement创建,用于发送简单的SQL

常用Statement方法:

execute(String sql):运行语句,返回是否有结果集

executeQuery(String sql):运行select语句,返回ResultSet结果集。

executeUpdate(String sql):运行insert/update/delete操作,返回更新的行数。

4.ResultSet接口

ResultSet提供检索不同类型字段的方法,使用到的有:

getString(int index)、getString(String columnName):通过列号或列名获得在数据库里是varchar、char等类型的数据对象。

next():移动到下一行

使用后依次关闭对象及连接:ResultSet → Statement → Connection

四、关系模式结构

使用LZY_SPJ_LAB3数据库,含有以下两张表:

1.S

设置有SNO、SNAME、STATUS、CITY四列,数据类型均为nchar,其中SNO为主键,STATUS有check约束【([STATUS]=(10) OR [STATUS]=(20) OR [STATUS]=(30) OR [STATUS]=(40))】。

2,SPJ表

设置有SNO、PNO、JNO、QTY四列,数据类型均为nchar,其中(SNO,PNO,JNO)为主键,SNO为S表中SNO的外键。

五、功能介绍

1.信息录入(仅录入S表和SPJ表);

2.根据供应商代码和供应商状态分别查询供应商信息;

3.删除指定供应商代码的供应商信息(包括该供应商的供应情况信息);

4.按照供应商代码修改供应商供应情况表信息,将QTY增加10%。

5.全部信息浏览功能。

六、实现按供应商代码和供应商状态查询功能的界面截图

数据库上机作业3报告
数据库上机作业3报告

七、拓展功能

1.根据供应商名字或城市查询供应商信息。

2.用户可以使用SQL语句插入、修改或删除数据

八、系统缺陷与不足

1.初次使用运行速度慢,可能是因为我为了保证不占用太多的数据库资源,每一步操作之后都会关闭数据库连接。

2.通过输入sql语句进行数据库操作的功能存在局限性,仅能完成部分简单操作。

九、与文件系统的区别

1.数据安全性不同,文件系统我使用的excel,不存在主键约束、关系约束等问题,数据容易出错;再者文件系统不需要用户密码认证。

2.连接方式不同,文件系统使用Apache公司的POI技术,对excel进行操作,本系统通过JDBC操作SQL server数据库。

3.数据结构性联系不同,文件系统两个表无法建立联系,而数据库系统可以通过外键建立联系。

4.数据共享方式不同,文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。

发表评论 取消回复
表情 图片 链接 代码

分享