文档库 最新最全的文档下载
当前位置:文档库 › -实验5-补充

-实验5-补充

-实验5-补充
-实验5-补充

实验5 JDBC小结

一、相关知识点

1、JDBC基本概念

2、JDBC数据增、删、改,事务控制等

3、OR映射

4、完整的实现一个数据库应用程序

二、实验目的:

理解Java连接数据库的基本概念。理解利用Statement对象、PreparedStatement对象进行增、删、改操作,理解事务的概念和JDBC编程方式。理解OR映射的基本概念

三、实验内容:

1、第一步:在Eclipse中创建一个工程Northwind,并包含如下包

第二步:在https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.util中,添加如下类(可参考booklib),并连接NorthWind数据库

在https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind下创建testSystem类,用于测试连接

package https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind;

import java.sql.Connection;

import java.sql.SQLException;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.util.DBUtil;

public class testSystem {

public static void main(String[] args){

(new testSystem()).testConnection();

}

public void testConnection(){

Connection conn=null;

try {

conn=DBUtil.getConnection();

System.out.println("connected!");

} catch (SQLException e) {

System.out.println("connect failed!");

e.printStackTrace();

}

finally{

if(conn!=null)

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

第三步:在https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.model中,添加类Customers,用于映射数据库中的Customers表。

第四步:在https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.dao中,实现接口ICustomersDAO,要求定义如下方法:

public void createCustomer(Customers c) throws BaseException;//创建客户

public void modifyCustomer(Customers customer) throws BaseException;//修改客户信息

public void deleteCustomer(Customers customer)throws BaseException;//删除客户

public Customers getCustomer(String customerId) throws DbException;//根据客户编号,获取客户信息

public List< Customers > qryCustomers(String companyName)throws BaseException;//根据公司姓名模糊查询客户信息

第五步:在https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.dao中,定义CustomersDAO类,实现ICustomersDAO接口中的方法;

第六步:在https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.control中,定义CustomersManager类,实现

public List loadAllCustomers() throws BaseException //查询所有顾客

public void createCustomer(Customers c) throws BaseException //新增顾客

public void deleteCustomer(String customerId) throws BaseException //根据顾客号,删除顾客

public void changeCompanyName(String customerId, String companyName)

throws BaseException//根据顾客号,修改公司名

第七步:在testSystem中添加方法,测试CustomersManager类,要求:

●添加三个客户

●打印出所有客户的信息

●将其中一名客户的公司名字改为“金叶”

●删除公司名中包含“中介”的客户信息

【实验结果与分析】

A、给出Customers类的代码

package https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.model;

public class Customers {

private String CustomerID;

private String CompanyName;

private String ContactName;

private String ContactTitle;

private String Address;

private String City;

private String Region;

private String PostalCode;

private String Country;

private String Phone;

private String Fax;

public String getCustomerID() {

return CustomerID;

}

public void setCustomerID(String customerID) {

CustomerID = customerID;

}

public String getCompanyName() {

return CompanyName;

}

public void setCompanyName(String companyName) {

CompanyName = companyName;

}

public String getContactName() {

return ContactName;

}

public void setContactName(String contactName) { ContactName = contactName;

}

public String getContactTitle() {

return ContactTitle;

}

public void setContactTitle(String contactTitle) { ContactTitle = contactTitle;

}

public String getAddress() {

return Address;

}

public void setAddress(String address) {

Address = address;

}

public String getCity() {

return City;

}

public void setCity(String city) {

City = city;

}

public String getRegion() {

return Region;

}

public void setRegion(String region) {

Region = region;

}

public String getPostalCode() {

return PostalCode;

}

public void setPostalCode(String postalCode) { PostalCode = postalCode;

}

public String getCountry() {

return Country;

}

public void setCountry(String country) {

Country = country;

}

public String getPhone() {

return Phone;

}

public void setPhone(String phone) {

Phone = phone;

}

public String getFax() {

return Fax;

}

public void setFax(String fax) {

Fax = fax;

}

}

B、给出CustomersDAO的代码

package https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.dao;

import java.util.List;

import java.sql.Connection;

import java.sql.SQLException;

import java.util.ArrayList;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.util.BusinessException;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.util.DBUtil;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.model.Customers;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.util.BaseException;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.util.DbException;

public class CustomersDAO implements ICustomersDAO {

@Override

public void createCustomer(Customers c) throws BaseException { // TODO Auto-generated method stub

Connection conn=null;

try {

conn=DBUtil.getConnection();

String sql="select * from Customers where CustomerID=?";

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

pst.setString(1,c.getCustomerID());

sql="insert into

Customers(CustomerID,CompanyName,ContactName,ContactTitle,Address,Cit y,Region,PostalCode,Country,Phone,Fax)

values(?,?,?,?,?,?,?,?,?,?,?)";

pst=conn.prepareStatement(sql);

pst.setString(1, c.getCustomerID());

pst.setString(2, c.getCompanyName());

pst.setString(3,c.getAddress());

pst.setString(4,c.getCity());

pst.setString(5,c.getRegion());

pst.setString(6,c.getPostalCode());

pst.setString(7,c.getCountry());

pst.setString(8,c.getPhone());

pst.setString(9,c.getCountry());

pst.setString(10,c.getFax());

pst.setString(11,c.getContactName());

pst.execute();

pst.close();

} catch (SQLException e) {

e.printStackTrace();

throw new DbException(e);

}

finally{

if(conn!=null)

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

@Override

public void deleteCustomer(Customers customer) throws BaseException {

// TODO Auto-generated method stub

Connection conn=null;

try {

conn=DBUtil.getConnection();

String sql="select * from Customers where CustomerID=?";

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

pst=conn.prepareStatement("delete from Customers where CustomerID=?");

pst.setString(1, customer.getCustomerID());

pst.execute();

} catch (SQLException e) {

e.printStackTrace();

throw new DbException(e);

}

finally{

if(conn!=null)

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

@Override

public Customers getCustomer(String customerId) throws DbException {

// TODO Auto-generated method stub

return null;

}

@Override

public void modifyCustomer(Customers customer) throws BaseException {

// TODO Auto-generated method stub

Connection conn=null;

try {

conn=DBUtil.getConnection();

String sql="select * from Customers where CustomerID=?";

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

sql="update Customers set CustomerID

=?,CompanyName=?,ContactName=?,ContactTitle=?,Address=?,City=?,Region =?,PostalCode=?,Country=?,Phone=?,Fax=? where CustomerID=?";

pst=conn.prepareStatement(sql);

pst.setString(1, customer.getCustomerID());

pst.setString(2, customer.getCompanyName());

pst.setString(3,customer.getAddress());

pst.setString(4,customer.getCity());

pst.setString(5,customer.getRegion());

pst.setString(6,customer.getPostalCode());

pst.setString(7,customer.getCountry());

pst.setString(8,customer.getPhone());

pst.setString(9,customer.getCountry());

pst.setString(10,customer.getFax());

pst.setString(11,customer.getContactName());

pst.execute();

} catch (SQLException e) {

e.printStackTrace();

throw new DbException(e);

}

finally{

if(conn!=null)

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

@Override

public List qryCustomers(String companyName) throws BaseException {

List result=new ArrayList();

// TODO Auto-generated method stub

Connection conn=null;

try {

conn=DBUtil.getConnection();

String sql="select

CustomerID,CompanyName,ContactName,ContactTitle,Address,City,Region,P ostalCode,Country,Phone,Fax from Customers where CompanyName like ? order by CustomerID";

java.sql.PreparedStatement pst=conn.prepareStatement(sql);

pst.setString(1,"%"+companyName+"%");

java.sql.ResultSet rs=pst.executeQuery();

while(rs.next()){

Customers p=new Customers();

p.setCustomerID(rs.getString(1));

p.setCompanyName(rs.getString(2));

p.setContactName(rs.getString(3));

p.setContactTitle(rs.getString(4));

p.setAddress(rs.getString(5));

p.setCity(rs.getString(6));

p.setRegion(rs.getString(7));

p.setPostalCode(rs.getString(8));

p.setCountry(rs.getString(9));

p.setPhone(rs.getString(10));

p.setFax(rs.getString(11));

result.add(p);

}

} catch (SQLException e) {

e.printStackTrace();

throw new DbException(e);

}

finally{

if(conn!=null)

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return result;

}

}

C、给出CustomersManager的代码

package https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.control;

import java.util.List;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.util.*;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.dao.CustomersDAO;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.model.Customers;

public class CustomersManager {

public List loadAllCustomers()throws BaseException{ List result=(new CustomersDAO()).qryCustomers("");

return result;

}

}

D、给出testSystem的代码

package https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind;

import java.sql.Connection;

import java.sql.SQLException;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.model.Customers;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.util.DBUtil;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.dao.*;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.util.*;

import https://www.wendangku.net/doc/4c10125802.html,.zucc.northwind.control.*;

import java.util.List;

public class testSystem {

public static void main(String[] args) {

//(new testSystem()).testConnection();

(new testSystem()).printAllCustomers();

}

public void testConnection() {

Connection conn = null;

try {

conn = DBUtil.getConnection();

System.out.println("connected!");

} catch (SQLException e) {

System.out.println("connect failed!");

e.printStackTrace();

} finally {

if (conn != null)

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public void printAllCustomers(){

try{

List result=(new

CustomersManager()).loadAllCustomers();

for(int i=0;i

{

Customers c = result.get(i);

System.out.println(c.getCustomerID()+";"+c.getCompanyName() );

}

}catch(BaseException e){

e.printStackTrace();

}

}

}

E、如果需要添加对表region的操作,需要添加几个类?分别怎么命名?

电路分析实验报告-第一次

电路分析实验报告

实验报告(二、三) 一、实验名称实验二KCL与KVL的验证 二、实验目的 1.熟悉Multisim软件的使用; 2.学习实验Multisim软件测量电路中电流电压; 3.验证基尔霍夫定理的正确性。 三、实验原理 KCL为任一时刻,流出某个节点的电流的代数和恒等于零,流入任一封闭面的电流代数和总等于零。且规定规定:流出节点的电流为正,流入节点的电流为负。 KVL为任一时刻,沿任意回路巡行,所有支路电压降之和为零。且各元件取号按照遇电压降取“+”,遇电压升取“-”的方式。沿顺时针方向绕行电压总和为0。电路中任意两点间的电压等于两点间任一条路径经过的各元件电压降的代数和。 四、实验内容 电路图截图:

1.验证KCL: 以节点2为研究节点,电流表1、3、5的运行结果截图如下: 由截图可知,流入节点2的电流为2.25A,流出节点2 的电流分别为750mA和1.5A。2.25=0.75+1.5。所以,可验证KCL成立。 2.验证KVL: 以左侧的回路为研究对象,运行结果的截图如下:

由截图可知,R3两端电压为22.5V,R1两端电压为7.5V,电压源电压为30V。22.5+7.5-30=0。所以,回路电压为0,所以,可验证KVL成立。 一、实验名称实验三回路法或网孔法求支路电流(电压) 二、实验目的 1.熟悉Multisim软件的使用; 2.学习实验Multisim软件测量电路中电流电压; 3.验证网孔分析法的正确性。 三、实验原理 为减少未知量(方程)的个数,可以假想每个回路中有一个回路电流。若回路电流已求得,则各支路电流可用回路电流线性组合表示。这样即可求得电路的解。回路电流法就是以回路电流为未知量列写电路方程分析电路的方法。网孔电流法就是对平面电路,若以网孔为独立回

电路分析实验报告

电压源与电流源的等效变换 一、实验目的 1、加深理解电压源、电流源的概念。 2、掌握电源外特性的测试方法。 二、原理及说明 1、电压源是有源元件,可分为理想电压源与实际电压源。理想电压源在一定的电流 范围内,具有很小的电阻,它的输出电压不因负载而改变。而实际电压源的端电压随着电流变化而变化,即它具有一定的内阻值。理想电压源与实际电压源以及它们的伏安特性如图4-1所示(参阅实验一内容)。 2、电流源也分为理想电流源和实际电流源。 理想电流源的电流是恒定的,不因外电路不同而改变。实际电流源的电流与所联接的电路有关。当其端电压增高时,通过外电路的电流要降低,端压越低通过外电路的电 并联来表示。图4-2为两种电流越大。实际电流源可以用一个理想电流源和一个内阻R S 流源的伏安特性。

3、电源的等效变换 一个实际电源,尤其外部特性来讲,可以看成为一个电压源,也可看成为一个电流源。两者是等效的,其中I S=U S/R S或 U S=I S R S 图4-3为等效变换电路,由式中可以看出它可以很方便地把一个参数为U s 和R s 的 电压源变换为一个参数为I s 和R S 的等效电流源。同时可知理想电压源与理想电流源两者 之间不存在等效变换的条件。 三、仪器设备 电工实验装置: DG011、 DG053 、 DY04 、 DYO31 四、实验内容 1、理想电流源的伏安特性 1)按图4-4(a)接线,毫安表接线使用电流插孔,R L 使用1KΩ电位器。 2)调节恒流源输出,使I S 为10mA。, 3)按表4-1调整R L 值,观察并记录电流表、电压表读数变化。将测试结果填入表4-1中。 2、实际电流源的伏安特性 按照图4-4(b)接线,按表4-1调整R L 值,将测试的结果填入表4-1中。

实验5

数据结构《实验5》实验报告 实验项目5:快速排序 回答问题完整、实验结果(运行结果界面及源程序,运行结果界面放在前面):

#include #include #define STUDENT EType #define KeyType int struct STUDENT { char number[10]; char name[10]; int age; char sex[10]; char place[10]; }; struct LinearList { EType *r; int length; int maxsize; }; void CreatLinearList(LinearList &L,int MaxListSize) {

L.maxsize=MaxListSize; L.r=new EType[L.maxsize]; L.length=0; } bool InputLinearList(LinearList &L) { int i,num; cout<<"请输入要存储元素的个数:"; cin>>num; L.length=num; cout<>L.r[i].age; return 1; } void OutputLinearList(LinearList &L) { for(int i=0;i=StandardKey) high--; r[low++]=r[high]; while(low<=high&&r[low].age<=StandardKey) low++; r[high--]=r[low]; } r[--low]=temp;

东南大学电路实验实验报告

电路实验 实验报告 第二次实验 实验名称:弱电实验 院系:信息科学与工程学院专业:信息工程姓名:学号: 实验时间:年月日

实验一:PocketLab的使用、电子元器件特性测试和基尔霍夫定理 一、仿真实验 1.电容伏安特性 实验电路: 图1-1 电容伏安特性实验电路 波形图:

图1-2 电容电压电流波形图 思考题: 请根据测试波形,读取电容上电压,电流摆幅,验证电容的伏安特性表达式。 解:()()mV wt wt U C cos 164cos 164-=+=π, ()mV wt wt U R sin 10002cos 1000=??? ? ? -=π,us T 500=; ()mA wt R U I I R R C sin 213.0== =∴,ππ40002==T w ; 而()mA wt dt du C C sin 206.0= dt du C I C C ≈?且误差较小,即可验证电容的伏安特性表达式。 2.电感伏安特性 实验电路: 图1-3 电感伏安特性实验电路 波形图:

图1-4 电感电压电流波形图 思考题: 1.比较图1-2和1-4,理解电感、电容上电压电流之间的相位关系。对于电感而言,电压相位 超前 (超前or 滞后)电流相位;对于电容而言,电压相位 滞后 (超前or 滞后)电流相位。 2.请根据测试波形,读取电感上电压、电流摆幅,验证电感的伏安特性表达式。 解:()mV wt U L cos 8.2=, ()mV wt wt U R sin 10002cos 1000=?? ? ?? -=π,us T 500=; ()mA wt R U I I R R L sin 213.0===∴,ππ 40002==T w ; 而()mV wt dt di L L cos 7.2= dt di L U L L ≈?且误差较小,即可验证电感的伏安特性表达式。 二、硬件实验 1.恒压源特性验证 表1-1 不同电阻负载时电压源输出电压 2.电容的伏安特性测量

数据库实验5实验报告

淮海工学院计算机工程学院实验报告书 课程名:《数据库原理及应用》 题目:数据库的完整性 班级:软件132 学号:2013122907 姓名:莹莹

一.目的与要求 1.掌握索引创建和删除的方法; 2.掌握创建视图和使用视图的方法; 3.掌握完整性约束的定义方法,包括primary key、foreign key等。 二.实验容 1.基于前面建立的factory数据库,使用T-SQL语句在worker表的“部门号”列上创建一个非聚集索引,若该索引已经存在,则删除后重建。 2.在salary表的“职工号”和“日期”列创建聚集索引,并且强制唯一性。 3.建立视图view1,查询所有职工的职工号、、部门名和2004年2月工资,并按部门名顺序排列。 4.建立视图view2,查询所有职工的职工号、和平均工资; 5.建立视图view3,查询各部门名和该部门的所有职工平均工资; 6.显示视图view3的定义; 7.实施worker表的“性别”列默认值为“男”的约束; 8.实施salary表的“工资”列值限定在0~9999的约束; 9.实施depart表的“部门号”列值唯一的非聚集索引的约束; 10.为worker表建立外键“部门号”,参考表depart的“部门号”列。 11.建立一个规则sex:性别=’男’ OR 性别=’女’,将其绑定到“性别”上; 12.删除上面第7、8、9和10建立的约束; 13.解除第11题所建立的绑定并删除规则sex。 三.实验步骤 1 USE factory GO --判断是否存在depno索引;若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='depno') DROP INDEX worker.depno GO --创建depno索引 CREATE INDEX depno ON worker(部门号) GO EXEC sp_helpindex worker GO 2 USE factory GO --判断是否存在no_date索引;若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='no_date') DROP INDEX salary.no_date GO --创建no_date索引

电路分析实验报告第一次完整版

电路分析实验报告第一 次 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

电路分析实验报告 实验报告(二、三) 一、实验名称实验二 KCL与KVL的验证 二、实验目的 1.熟悉Multisim软件的使用; 2.学习实验Multisim软件测量电路中电流电压; 3.验证基尔霍夫定理的正确性。 三、实验原理 KCL为任一时刻,流出某个节点的电流的代数和恒等于零,流入任一封闭面的电流代数和总等于零。且规定规定:流出节点的电流为正,流入节点的电流为负。 KVL为任一时刻,沿任意回路巡行,所有支路电压降之和为零。且各元件取号按照遇电压降取“+”,遇电压升取“-”的方式。沿顺时针方向绕行电压总和为0。电路中任意两点间的电压等于两点间任一条路径经过的各元件电压降的代数和。 四、实验内容 电路图截图: 1.验证KCL: 以节点2为研究节点,电流表1、3、5的运行结果截图如下: 由截图可知,流入节点2的电流为2.25A,流出节点2 的电流分别为750mA和1.5A。2.25=0.75+1.5。所以,可验证KCL成立。2.验证KVL:

以左侧的回路为研究对象,运行结果的截图如下: 由截图可知,R3两端电压为22.5V,R1两端电压为7.5V,电压源电压为30V。22.5+7.5-30=0。所以,回路电压为0,所以,可验证KVL成立。 一、实验名称实验三回路法或网孔法求支路电流(电压) 二、实验目的 1.熟悉Multisim软件的使用; 2.学习实验Multisim软件测量电路中电流电压; 3.验证网孔分析法的正确性。 三、实验原理 为减少未知量(方程)的个数,可以假想每个回路中有一个回路电流。若回路电流已求得,则各支路电流可用回路电流线性组合表示。这样即可求得电路的解。回路电流法就是以回路电流为未知量列写电路方程分析电路的方法。网孔电流法就是对平面电路,若以网孔为独立回路,此时回路电流也称为网孔电流,对应的分析方法称为网孔电流法。 四、实验内容 实验电路截图: 如图所示,i1,i2,i3分别为三个网孔的电流,方向如图所示,均为顺时针。 网孔一中含有一个电流源,而且电流源仅在网孔一中,所以,网孔一的电流就是电流源电流2A。设电流源两端电压为U7。

数字电路实验报告

数字电路实验报告 姓名:张珂 班级:10级8班 学号:2010302540224

实验一:组合逻辑电路分析一.实验用集成电路引脚图 1.74LS00集成电路 2.74LS20集成电路 二、实验内容 1、组合逻辑电路分析 逻辑原理图如下:

U1A 74LS00N U2B 74LS00N U3C 74LS00N X1 2.5 V J1 Key = Space J2 Key = Space J3 Key = Space J4 Key = Space VCC 5V GND 图1.1组合逻辑电路分析 电路图说明:ABCD 按逻辑开关“1”表示高电平,“0”表示低电平; 逻辑指示灯:灯亮表示“1”,灯不亮表示“0”。 真值表如下: A B C D Y 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 表1.1 组合逻辑电路分析真值表 实验分析: 由实验逻辑电路图可知:输出X1=AB CD =AB+CD ,同样,由真值表也能推出此方程,说明此逻辑电路具有与或功能。 2、密码锁问题: 密码锁的开锁条件是:拨对密码,钥匙插入锁眼将电源接通,当两个条件同时满足时,开锁信号为“1”,将锁打开;否则,报警信号为“1”,则接通警铃。

试分析下图中密码锁的密码ABCD 是什么? 密码锁逻辑原理图如下: U1A 74LS00N U2B 74LS00N U3C 74LS00N U4D 74LS00N U5D 74LS00N U6A 74LS00N U7A 74LS00N U8A 74LS20D GND VCC 5V J1 Key = Space J2 Key = Space J3 Key = Space J4 Key = Space VCC 5V X1 2.5 V X2 2.5 V 图 2 密码锁电路分析 实验真值表记录如下: 实验真值表 A B C D X1 X2 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 表1.2 密码锁电路分析真值表 实验分析: 由真值表(表1.2)可知:当ABCD 为1001时,灯X1亮,灯X2灭;其他情况下,灯X1灭,灯X2亮。由此可见,该密码锁的密码ABCD 为1001.因而,可以得到:X1=ABCD ,X2=1X 。

数据库实验报告五

数据库原理及应用实验报告(五) 实验题目:过程 专业:数字媒体技术 班级:1306班 姓名:***************

运城学院实验报告 专业:数字媒体技术系(班):计算机科学与技术系1306班姓名:************* 课程名称:数据库原理及应用 实验项目:过程实验类型:验证型指导老师:***** 实验地点:软件实验室一时间:2015年12月10日 一、实验目的: 掌握用户存储过程的创建,了解一些常用的系统存储过程,以及调用和删除过程,并熟悉使用存储过程来进行数据库应用程序的设计。 二、实验内容: (1)基于学生—课程数据库创建一存储过程,用于检索数据库中某个专业学生的人数,带有一个输入参数,用于指定专业。执行结果如图二所示: create procedure pro_s @stu_sdept varchar(5) //这是带参数的过程,参数不用()括 As select count(*) as 人数from student where sdept = @ stu_sdept 1、存储过程的执行 execute pro_s 实参//实参可以是变量,也可以是常量 (2)基于学生-课程数据库创建一存储过程,该过程带有一个输入参数,一个输出参数。其中输入参数用于指定学生的学号,输出参数用于返回学生的平均成绩。执行结果如图四所示: create procedure pro_stu @stu_sno char(6),@stu_avg float output //这个带output的是输出参数as select @stu_avg = avg(grade) //将平均值给了变量 from student,sc where student. sno = sc. sno and student.sno=@stu_sno 1.存储过程的执行 declare @stuavg float //用于存放输出变量内容的 execute pro_stu ‘1000’,@stuavg output// 输出参数必须是变量 select @stuavg //看结果 (3)在pubs数据库中建立一个存储过程,用于检索数据库中某一价位的图书信息。参数有两个,用

实验5实验报告

学号:20164477 姓名:陈家凤 实验五SQL语言 一、目的与要求 1.掌握SQL语言的查询功能; 2.掌握SQL语言的数据操作功能; 3.掌握对象资源管理器建立查询、索引和视图的方法; 二、实验准备 1.了解SQL语言的查改增删四大操作的语法; 2.了解查询、索引和视图的概念; 3.了解各类常用函数的含义。 三、实验内容 (一)SQL查询功能 使用提供的studentdb数据库文件,先附加到目录树中,再完成下列题目,SQL命令请保存到脚本文件中。 1.基本查询 (1)查询所有姓王的学生的姓名、学号和性别 Select St_Name,St_Sex,St_ID From st_info Where St_Name like'王%' 图5-1 (2)查询全体学生的情况,查询结构按班级降序排列,同一班级再按学号升序, 并将结果存入新表new中 select*into new from st_info order by Cl_Name desc,st_ID asc

图5-2 (3)对S_C_info表中选修了“体育”课的学生的平均成绩生成汇总行和明细 行。(提示:用compute汇总计算) 因2014版本已不支持compute关键字,所以选择用其他方式。 Select c_no,score From s_c_info Where c_no=29000011 group by c_no,score 图5-3 2.嵌套查询 (1)查询其他班级中比“材料科学0601班”的学生年龄都大的学生姓名和年 龄 select st_name,born_date from st_info where cl_name!='材料科学0601班'and born_date<(select min(born_date) from st_info where cl_name='材料科学0601班')

电路基础实验报告

北京交通大学电路基础实验报告

实验目的: (1)学习MultiSim2001建立电路、直流电路的分析方法。 (2)掌握伏安特性的测量。 (3)通过实验,加深对叠加定理和戴维南定理的理解。 实验内容: 1)测量二极管的伏安特性 (1)建立如右图所示的仿真Array电路。 (2)启动Simulate菜单中的 Analyses下的DC Sweep 设置相应的参数后,单击Simulate按钮,得到二极管的伏 安特性曲线。 2)验证叠加定理Array(1)建立如右图 所示的仿真电路。 (2)启动仿真开 关后,用电压表分 别测出V1、V2单 独作用和共同作 用时个支路的电压值,验证叠加定理。 3)验证戴维南定理 (1)建立如下图所示的仿真电路。(其中a对应2的位置,

b 对应0的位置) (2)用电压表测量R3断开时a 、b 端口的开路电压。 (3)将电阻R3短路,用电流表测量a 、b 端口短路电压。 (4)计算出等效电阻。重新建立一仿真电路,调出一个直流电压源,设置其电压为测量出的开路电压值,调一个电阻值为计算出的等效电阻,与R3电阻串联成一个等效电路。再用电压表和电流表测量R3两端的电压和流过电流,验证戴维南定理。 实验过程: 1) 测量二极管的伏安特性。 如右图,建立仿真电路图后,启动Simulate 菜单中的Analyses 下的DC Sweep 命令,设置相应的参数后,单击Simulate 按钮,得到二极管的伏安特性曲线如下:

2)验证叠加定理。 V1单独作用: 令V2=0.启动仿真开关如下图: U11=8.727V U21=3.273V U31=3.273V V2单独作用: 令V1=0,启动仿真开关如下图:

数据库实验报告1

1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分) exec sp_rename v_spj, v_spj_三建; 2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分) (1)创建一个带参数的存储过程—jsearch。该存储过程的作用是:当任意输入一个工 程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME) 以及工程的名称(JNAME)。执行jsearch存储过程,查询“J1”对应的信息。(10 分) create proc jsearch @jno char(2) as select sname, pname, jname from s,p,j,spj where s.sno=spj.sno and p.pno=spj.pno and j.jno=spj.jno and spj.jno=@jno; 执行: exec jsearch 'J1'

(2)使用S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执 行该存储过程时,将返回北京供应商的所有信息。(10分) 创建加密存储过程: create proc jmsearch with encryption as select * from s where s.city='北京'; sp_helptext jmsearch; (3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。(5分) 用系统存储过程sp_helptext查看jsearch: exec sp_help jsearch; exec sp_helptext jsearch;

通信电路实验报告材料

第一次实验报告 实验一高频小信号放大器 一、实验目的 1、掌握高频小信号谐振电压放大器的电路组成与基本工作原理。 2、熟悉谐振回路的调谐方法及测试方法。 3、掌握高频谐振放大器处于谐振时各项主要技术指标意义及测试技能。 二、实验容 (1)单调谐高频小信号放大器仿真

图1.1 单调谐高频小信号放大器(2)双调谐高频小信号放大器

(a) (b) 图1.2 双调谐高频小信号放大器

三、实验结果 (1)单调谐高频小信号放大器仿真 1、仿真电路图 2、根据电路中选频网络参数值,计算该电路的谐振频率ωp。 ωp ==2.94Mrad/s fp 467kHz 由于三极管的电容会对谐振回路造成影响,因此我适当增大了谐振回路 中的电容值(减小电感),ωp的误差减小,仿真中实际fp464kHz 3、通过仿真,观察示波器中的输入输出波形,计算电压增益A v0。

A v0 = = 11.08 db 4、利用软件中的波特图仪观察通频带,并计算矩形系数。 f0.7 : 446kHz~481kHz f0.1 : 327kHz~657kHz 矩形系数约为:9.4 5、改变信号源的频率(信号源幅值不变),通过示波器或着万用表测量输 出电压的有效值,计算出输出电压的振幅值,完成下列表,并汇出f~Av 相应的图,根据图粗略计算出通频带。

通频带:446kHz~481kHz 带宽:35kHZ 6、 在电路的输入端加入谐振频率的2、4、6次谐波,通过示波器观察图形, 体会该电路的选频作用。 二次谐波: 加入四次谐波 f 0(KHz ) 65 75 165 265 365 465 1065 1665 2265 2865 3465 4065 U 0(mv ) 0.012 9 0.0155 0.040 4 0.0858 0.2150 1.274 0.0526 0.0301 0.0216 0.0173 0.0144 0.0126 A V (db) -28.8 9 -27.38 -19.06 -12.60 -4.894 11.43 -16.46 -21.36 -24.22 -26.22 -27.73 -28.93

电路实验报告二

实验二、基尔霍夫定律的验证 一、实验目的 1.通过实验验证基尔霍夫电流定律和电压定律,巩固所学理论知识。 2.加深对参考方向概念的理解。 二、器材设备 双路直流稳压电源,直流电路单元板(TS-B-28),万用表 三、实验原理 基尔霍夫节点电流定律: 电路中任意时刻流进(或流出)任一节点的电流的代数和等于零。其数学表达式为: ∑=0 I (2-1) i 基尔霍夫回路电压定律: 电路中任意时刻,沿着任一节闭合回路,电压的代数和等于零。其数学表达式为: ∑=0 U (2-2) i 电路的参考方向: 在电路中假定一个方向为参考,称为参考方向。当电路中的电流(或电压)的实际方向与参考方向相同时取正值,其实际方向与参考方向相反时取负值。 四.实验内容及步骤 本实验在直流电路单元板(TS -B-28)上进行,实验电路如图2-1所示。图中X1、X2、X3、X4、X5、X6为节点B的三条支路测量接口。 4.1、验证KCL定律 测量节点B的某支路的电流时,可假定流入节点B的电流为正,并将另外两个支路的测量接口短接,再将电流表的负极接到B点上,电流表的正极接到该支路的接口上(如图2-2)。

1. 按图2-2(a)接好实验电路,再将双路直流稳压电源的输出电压调节旋钮沿逆时针方向调到底,然后打开电源开关,调节电压输出,使U1=10.00V,U2=18.00V,测出AB支路的电流I1值,并在表2-1中记下测量值。 2.将电路转换成图2-2(b)形式,测出并记录BC支路的电流I2值。再将电路转换成图2-2(c)形式,测出并记录BE支路的电流I3值.。 3. 计算∑i I数值,验证基尔霍夫电流定律的正确性。利用电路中已知的电阻及电源电压值,应用电路定律计算出I1、I2、I3值并与测得的I1、I2、I3值比较,求出各测量值的相对误差。 表2-1(保留小数点后两位) 4.2、验证KVL定律 当要测量电压时,应将三个支路的测量接口短接,再取ABEFA回路为回路I,BCDEB 回路为回路II,可选取顺时针方向为绕行方向,依次测量两回路各支路的电压值。 1. 将电路转换成图2-3形式,仍保持U1=10.00V,U2=18.00V取顺时针方向为绕行方向,选择合适的电压表量程,依次测出回路I中各支路电压U AB、U BE、U EF、U FA和回路II中各支路电压U BC、U CD、U DE、U EB,并在表2-2中记下测量值。 2. 计算∑i U数值,验证基尔霍夫电压定律的正确性。利用已知的电阻及电源电压值,应用电路定律计算出上述各支路的电压值并与测得的值比较,求出各测量值的相对误差。 表2-2(保留小数点后三位) [数据处理,保留小数点后三位] 一、利用基尔霍夫定律计算节点B各支路的电流及回路Ⅰ、回路Ⅱ各支路的电压值。 设图2-3电路的节点B各支路的电流方向如图,取流入节点的电流方向为参考方向,则据基尔霍夫电流定律有:I1+I2=-I3 (2-3)另I4=I1、I2=I5(2-4)取顺时针方向为电压的参考方向,则据基尔霍夫电压定律有: 回路Ⅰ:R1×I1-R3×I3+R4×I1=U1(2-5)

数据库原理实验报告(5)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验五嵌套子查询设计实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)掌握多表查询和子查询的方法。 (2)熟练使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 (3)理解不相关子查询和相关子查询的实现方法和过程。 2.实验要求 (1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下查询操作: a)查询选修了数据结构与算法的学生学号和姓名。 b)查询07294002课程的成绩低于孙云禄的学生学号和成绩。 c)查询和孙云禄同年出生的学生的姓名和出生年份。 d)查询其他系中年龄小于数学与信息技术学院年龄最大者的学生。 e)查询其他系中比数学与信息技术学院学生年龄都小的学生。 f)查询同孙云禄数据库原理与应用课程分数相同的学生的学号和姓名。 g)查询选修了07294002课程的学生姓名。 h)查询没有选07294002课程的学生姓名。 i)查询同时选修了07295006和07295007课程的学生的学号。 j)查询所有未授课的教师的工号、姓名和院系,结果按院系升序排列。 扩展实验: a)查询和10060101选修的全部课程相同的学生的学号、课程号、期末考试 成绩。 b)查询至少选了10060101选修的全部课程的学生的学号。 c)查询年龄比所在院系平均年龄小的学生的学号、姓名、年龄、院系,按 院系和年龄升序排列。 d)查询每门课都在80分以上的学生的学号和姓名。 (2)在SQL Server Management Studio中新建查询,尽可能用多种形式表示实验中的查询语 句,并进行比较。 (3)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 将调试成功的T-SQL语句写在下方(标明题号)。

电路实验报告(5)

电路实验报告(5) 计科1403班覃舒婕 一、实验题目 集成放大器的应用 二、实验摘要(关键信息) 1、在面包板上搭接μA741的电路。首先将+12V和-12V直流电压正确接入μA741的Vcc+(7脚)和Vcc-(4脚)。 2、用μA741组成反比例放大电路,放大倍数自定,用示波器观察输入和输出波形,测量放大器的电压放大倍数。 3、用μA741组成积分电路,用示波器观察输入和输出波形,并做好记录。 三、实验环境(仪器用品等) 1)Tektronix DPO2012B示波器 2)RIGOL DG1022函数信号发生器 3)数字万用表 4)IT8302 直流稳压电源 5)电脑Multisim 13.0(画电路图) 6)面包板 7)μA741集成运算放大器,电阻,导线 四、实验原理和实验电路 1.μA741: The mA741 is a high performance operational amplifier with high open-loop gain, internal compensation, high common mode range and exceptional temperature stability. The mA741 is short-circuit-protected and allows for nulling of offset voltage.

如图所示,有八个端口,以黑点为参考点,逆时针增加排序,1和5是闲置端,2是反向输入端,3是同向输入端,4和7是正负电流的输入端,6是输出端,8是not current. 2集成运算放大器是一种具有高开环放大倍数、深度负反馈的直接耦合多级放大器,是模拟电子技术领域应用最广泛的集成器件。按照输入方式可分为同相、反相、差动三种接法,按照运算关系可分为比例、加法、减法、积分、微分等。利用输入方式和运算关系的组合,可接成各种运算放大器电路。 1. 反相比例运算放大器 其中,放大的倍数等于f R /1R 。 电路图:

C++程序设计实验报告5

《程序设计基础》 实验报告 学号:2016211990 姓名:王贯东 班级:16-计算机科学与技术-1班

学院:计算机与信息学院 实验五指针 1.实验目的要求 (1)掌握指针的概念,学会定义和使用指针变量。 (2)学会使用数组指针和指向数组的指针变量。 (3)学会使用字符串指针和指向字符串的指针变量。 (4)了解指向指针的指针的概念以及其使用方法。 (5)掌握指针、引用、数组做函数参数的传递机制。 (6)*学会使用指向函数的指针变量。 2.实验设备 Visual C++ 6.0 3.实验内容 (1)阅读下面程序,写出其运行结果。

<1> #include sub ( int x , int y , int *z ) { *z = y – x ; } void main( ) { int a,b,c; sub( 10 , 5 , &a ) ; sub( 7, a, &b ) ; sub( a, b, &c ) ; cout << a <<‘,’<< b <<‘,’<< c << endl ; } 解:输出-5,-12,-7 <2> #include #include void main()

{ int stre ( char[ ] ) ; char str [ 10 ] , *p = str ; gets ( p ) ; cout << stre ( p ) << endl ; } int stre ( char str[ ] ) { int num = 0 ; while( * ( str + num ) != ’\0’ ) num ++ ; return ( num ) ; } 解:题目库函数少了 。该正后,输入1234,输出4 (2)编写程序实现下列问题的求解。 (1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出。 #include using namespace std; int turn (int *p1,int *p2)

串联电路实验报告

串联电路实验报告 篇一:实验报告:组成串联电路和并联电路a 连接串联电路和并联电路 一、实验目的:掌握_____________、______________的连接方式。 二、实验器材: __________、__________、__________、__________、___________。 三、步骤: (一).组成串联电路 1.按图1-1的电路图,先用铅笔将图1-2中的电路元件,按电路图中的顺序连成实物电路图(要求元件位置不动,并且导线不能交叉)。在连接实物电路过程中,开关是 2.经电路连接无误后,闭合和断开结果填入表格中。 3.把开关改接到L1和L2之间,再改接到L2和电池负极间,观察开关控制两只灯泡的情况。将观察结果填入表格中。 (二)组成并联电路 1、在图方框中画出由两只灯泡L1、L2组成的并联电路。要求三个开关中的开关S控制干 路,开关S1和S2分别控制两个支路,并按电路图连接实物及实物图。 2、经检查电路连接无误后,把

3、闭合S1和S2,断开与闭合干路中的开关S,观察它控制哪个灯泡?将观察结果填入表 格中。 4、闭合S和S2,断开与闭合支路中的开关S1,观察它控制哪个灯泡?将观察结果填入表 格中。 5、闭合S和S1,断开与闭合支路开关S2,观察它控制哪个灯泡?将观察结果填入表格中。 (三)实验结论 串联电路:在串联电路里只有条电流路径;用电器)工作,它们之间(选填“会”或“不会”)相互影响;开关控制_____ ____用电器;如果开关的位置改变了,开关的控制作用_________. 并联电路:在并联电路里有条电流路径;用电器)工作,它们之间(选填“会”或“不会”)相互影响;干路开关控制_________用电器,支路开关控制_________用电器(四)、结束实验,整理仪器,把器材分类放好,依次推出实验室。 电学实验规则: 1.实验开始时:首先要依据实验要求,能正确地画出电路图。 2.选择器材时:要依据画出(含“给出”)的电路图,

北邮大三下数据库实验报告5

北京邮电大学 实验报告 课程名称数据库系统原理 实验内容实验5 数据库完整性与安全性实验 班级2013211***姓名 *** 指导老师成绩_________ 2016年05月20日

实验5 数据库完整性与安全性实验 实验目的: 1.通过对完整性规则的定义实现,熟悉了解SQL SERVER中完整性保证的规则和实现方 法,加深对数据完整性的理解。 2.通过对安全性相关内容的定义,熟悉了解SQL SERVER中安全性的内容和实现方法, 加深对数据库安全性的理解 实验内容 完整性实验与要求: 1.分别定义数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束; 定义主键: 方法一:使用Enterprise Manager设置主键(以book表为例) ①光标移到book表的位置,右键->设计 ②在你要选的属性列右键->设置主键,完成。

方法二:使用SQL语句。 ①右键数据库,新建查询 设置外键: 方法一:使用Enterprise Manager设置外键(以student表为例) ①单击student表,鼠标移到“键”文件夹,单击右键,选择“新建外键”。 ②选择“表和列规范”进行设置

③我们想在student表设置class_id属性为外键,按照下图选择,点击确定,保存即可。 方法二:SQL语句 新建查询,输入如图语句。

2.向学生表插入具有相同学号的数据,验证其实体完整性约束; Student表的主键是学号,所以不能插入有相同学号的学生。 3.向学生表中插入一条数据,班级号是学生表的外键,验证参照完整性约束; Class表中没有“2013211302”这个班级,所以无法插入。改变班级号为class表中存在的,则能够进行插入,结果如下: 4.删除教师表中的所有数据,验证参照完整性约束;

实验五时序逻辑电路实验报告

实验五时序逻辑电路(计数器和寄存器)-实验报告一、实验目的 1掌握同步计数器设计方法与测试方法。 2 ?掌握常用中规模集成计数器的逻辑功能和使用方法。 二、实验设备 设备:THHD-2型数字电子计数实验箱、示波器、信号源 器件:74LS163、74LS00、74LS20 等。 三、实验原理和实验电路 1计数器 计数器不仅可用来计数,也可用于分频、定时和数字运算。在实际工程应用中,一般很少使用小规模的触发器组成计数器,而是直接选用中规模集成计数器。 2. (1)四位二进制(十六进制)计数器74LS161 (74LS163) 74LS161是同步置数、异步清零的4位二进制加法计数器,其功能表见表。 74LS163是同步置数、同步清零的4位二进制加法计数器。除清零为同步外,其他功能与74LS161相同。二者的外部引脚图也相同,如图所示。 3.集成计数器的应用一一实现任意M进制计数器

Eft CR IK rh th Ih ET 7-I1A C1M /( 制扭环计数 同步清零法器 同步置数法 般情况任意M 进制计数器的结构分为 3类,第一类是由触发器构成的简单计数器。 第 二类是 由集成二进制计数器构成计数器。第三类是由移位寄存器构成的移位寄存型计数器。 第一类,可利用时序逻辑电路的设计方法步骤进行设计。 第二类,当计数器的模 M 较小时用 一片集成计数器即可以实现,当 M 较大时,可通过多片计数器级联实现。两种实现方法:反 馈置数法和反馈清零法。第三类,是由移位寄存器构成的移位寄存型计数器。 4?实验电路: 十进制计数器 1

图74LS161 (74LS163)外部引脚图 四、实验内容及步骤 1 .集成计数器实验 (1)按电路原理图使用中规模集成计数器74LS163和与非门74LS00,连接成一个同步置数或同步清零十进制计数器,并将输出连接至数码管或发光二极管。然后使用单次脉冲作为触发输入,观察数码管或发光二极管的变化,记录得到电路计数过程和状态的转换规律。 (2)根据电路图,首先用D触发器74LS7474构成一个不能自启的六进制扭环形计数器,同样将输出连接至数码管或发光二极管。然后使用单次脉冲作为触发输入,观察数码管或发光二 极管的变化,记录得到电路计数过程和状态的转换规律。注意观察电路是否能自启,若不能自启,则将电路置位有效状态。接下来再用D触发器74LS7474构成一个能自启的六进制扭环 形计数器,重复上述操作。 2?分频实验 依据实验原理图用74LS163及74LS00组成一个具有方波输出的六分频电路。选择适当时钟输入方式及频率(CP接连续波脉冲),用双踪示波器观察并记录时钟与分频输出信号的时序波形。 五、实验结果及数据分析 1 .集成计数实验同步清零和同步置数的十进制加一计数器状态转换过程分别如下所示: 0000 : 0001 : 0010 : 0011 ; 0100 爲00*卄庇爲爲卄yh 六进制扭环形计数器的状态转换过程如下:

实验5-RAID实验-实验报告

计算机系统结构实验报告 班 级 实验日期 实验成绩 姓 名 学号 实 验 名 称 计算机系统结构实验5(磁盘、固态盘仿真) 实 验 目 的 、 要 求 编译Disksim,测试单个磁盘的性能(Response time) 配置RAID0、RAID1、RAID5并做性能测试 探究性实验(2选1) 实 验 内 容 、 步 骤 及 结 果 一、编译D ISKSIM,测试单个磁盘的性能(R ESPONSE TIME) 测试某个磁盘,cheetah4LP.parv ../src/disksim cheetah4LP.parv cheetah4LP.outv validate cheetah4LP.trace 0 查看相应的outv文件,获取响应时间结果,使用grep命令得到 grep "IOdriver Response time average" cheetah4LP.outv 二、配置RAID0、RAID1、RAID5并做性能测试 (1)RAID5:为了方便对性能进行比较,进行如下的参数修改: 保存为synthraid5.parv,并进行测试 (2)RAID0:删除多余的generator 0 只留下一个,做如下更改:

保存为synthraid0.parv,并进行测试 (3)RAID1:删除多余的generator 0 只留下一个,做如下更改: 保存为synthraid1.parv,并进行测试 结论:通过测试我们可以发现在有效存储容量相同的情况下,RAID0使用的时间最少,速度最快。 三、探究性实验(2选1) 设计实验,任意选择其中一种RAID模式,分析验证其参数敏感性 参数包括盘数,条带大小。 ◎敏感性指:给定负载,其性能是否会随着参数变化而剧烈变化? ◎看上去完全没变化?注意负载强度是否足够。 这里我们选择RAID5模式进行测试。 (1)条带大小一定,磁盘数改变 此时(Stripe unit = 64,Parity stripe unit = 64) 磁盘个数7个8个9个10个11个 设备有效容量12336048 14392056 16448064 18504072 20560080 Synthetic结果21.657719 20.865686 20.332438 19.923599 19.728367 Financial结果2014.436976 1355.984474 1019.857911 882.827067 676.563854

相关文档