目录
教学资源
教学运行
提醒实验2: 数据表操作-数据查询 返回
实验课程:
C#数据库系统开发
开课学院:
商学院
开课专业:
信息管理与信息系统
教材:
软件:
实验指导:
实验介绍

实验2:  数据表操作-数据查询

一、实验名称和性质

 

所属课程

C#数据库系统设计

实验名称

数据表操作-数据查询

实验学时

2

实验性质

□验证  □综合 □设计

必做/选做

□必做      □选做

 

二、实验目的

1.        加深对表间关系的理解。

2.        理解数据库中数据的查询方法和应用。

3.        学会各种查询的异同及相互之间的转换方法。

4.        理解数据库中数据的其他查询方法和应用。

三、实验的软硬件环境要求

硬件环境要求:

         PC机(单机)

 

使用的软件名称、版本号以及模块:

         Windows XP下的SQL Server 2005(或 SQL Server 2008

四、知识准备

前期要求掌握的知识:

(一)SELECT 列名1 [ ,列名2 ]...

     [ INTO 新表名 ]

     FROM 表名1 [ ,表名2 ]...

     [ WHERE 条件表达式 ]

     [ GROUP BY 列名列表 ]

     [ HAVING 条件表达式 ]

     [ ORDER BY 列名列表  [ASC | DESC] ]

SELECT语句至少包含两个子句:SELECT和FROM

 

PUBs中的数据库表

Authors

属性名

数据类型

含义说明

可为空

检查

/索引

au_id

Id

作者编号

1

主键

au_lname

varchar(40)

作者姓

 

 

au_fname

varchar(20)

作者名

 

 

phone

char(12)

电话

 

 

address

varchar(40)

地址

 

 

city

varchar(20)

所在城市

 

 

state

char(2)

所在州

 

 

zip

char(5)

邮编

2

 

contract

Bit

是否签约

 

 

============================

discounts

属性名

数据类型

含义说明

可为空

检查

/索引

discounttype

varchar(40)

折扣类型

 

 

stor_id

char(4)

商店编号

 

外键 stores(stor_id)

lowqty

Smallint

数量下限

 

 

highqty

Smallint

数量上限

 

 

discount

Float

折扣

 

 

============================

Employee

属性名

数据类型

含义说明

可为空

默认值

检查

/索引

emp_id

Empid

职工编号

 

1

主键

fname

varchar(20)

职工名

 

 

 

minit

char(1)

 

 

 

 

lname

varchar(30)

职工姓

 

 

 

job_id

Smallint

工作编号

1

 

外键 jobs(job_id)

job_lvl

Tinyint

 

10

 

 

pub_id

char(4)

出版社编号

'9952'

 

外键publishers(pub_id)

Hire_date

Datetime

工作日期

GETDATE( )

 

 

============================

Jobs

属性名

数据类型

含义说明

可为空

检查

/索引

job_id

Smallint

工作编号

 

主键

job_desc

varchar (50)

工作描述

 

 

min_lvl

Tinyint

 

1

 

max_lvl

Tinyint

 

2

 

 

============================

pub_info

属性名

数据类型

含义说明

可为空

检查

/索引

pub_id

char(4)

出版社编号

 

主键,外键 publishers(pub_id)

logo

Image

标志图

 

 

pr_info

Text

出版信息

 

 

============================

Publishers

属性名

数据类型

含义说明

可为空

检查

/索引

pub_id

char(4)

出版社编号

1

主键

pub_name

varchar(40)

出版社名称

 

 

city

varchar(20)

所在城市

 

 

state

char(2)

所在州

 

 

country

varchar(30)

所在国家

 

 

 

============================

roysched

属性名

数据类型

含义说明

可为空

检查

/索引

title_id

Tid

书编号

 

外键 titles(title_id)

lorange

Int

 

 

hirange

Int

 

 

royalty

Int

版权

 

 

============================

Sales

属性名

数据类型

含义说明

可为空

/索引

stor_id

char(4)

商店编号

组合主键,聚集索引,外键 stores(stor_id)

ord_num

varchar(20)

订单编码

组合主键,聚集索引

ord_date

Datetime

订购日期

 

qty

Smallint

数量

 

payterms

varchar(12)

付款方式

 

title_id

Tid

书编号

组合主键,聚集索引,外键 titles(title_id)

============================

titles

属性名

数据类型

含义说明

可为空

检查

/索引

title_id

Tid

书编号

 

主键

title

varchar(80)

书名

 

 

type

char(12)

类型

 

 

pub_id

char(4)

出版社编号

 

外键 publishers (pub_id)

price

Money

价格

 

 

advance

Money

预付款

 

 

royalty

Int

版税

 

 

Ytd_sales

Int

年销售量

 

 

notes

varchar(200)

简介

 

 

pubdate

Datetime

出版日期

 

 

 

============================

Stores

属性名

数据类型

含义说明

可为空

检查

/索引

stor_id

char(4)

商店编号

 

主键

stor_name

varchar(40)

商店名称

 

 

stor_address

varchar(40)

商店地址

 

 

city

varchar(20)

所在城市

 

 

state

char(2)

所在州

 

 

zip

char(5)

邮编

 

 

============================

titleauthor

属性名

数据类型

含义说明

可为空

检查

/索引

au_id

id

作者编号

 

组合主键,聚集索引,外键 authors(au_id)

title_id

tid

书编号

 

组合主键,聚集索引,外键 titles(title_id)

au_ord

tinyint

 

 

 

royaltyper

int

版权百分比

 

 

 

() 存储过程

使用T-SQL语句创建存储过程的语法为:

   CREATE  PROC[EDURE]  存储过程名

             [{@参数1  数据类型}[ = 默认值] [OUTPUT],

              …… ,

             {@参数n  数据类型}[ = 默认值] [OUTPUT]

           AS

           SQL语句

 

 

五、实验内容

() Select

1.      查询所有作者的姓名、作者号信息,并在每个作者的作者号前面显示字符串“身份证号:”,表明显示的信息是身份证信息

2.      查询在CA州的作者姓名和城市

3.       查询书名以T开头或者出版社号为0877,而且价格大于16的书的信息。

4.       查询销售量大于30的书名及销售数量

5.       查询订单数大于3的各商店编码及订单数量。

6.       查询在1994.1.11994.10.31间,每本书的销售总额

7.       查询所有作者的所在城市和州名,要求没有重复信息

8.       查询每本书的书名、作者及它的售书总量

9.       查询价格最高的书的书名、作者及价格

10.  查询每个店销售的各书的数量

11.  查询有销售记录的所有书信息,包括书的编号、书名、类型和价格

12.  显示所有的书名(无销售记录的书也包括在内)

13.  查询已销售书的信息(书号、书名、作者名、销售的商店名等)

14.  查询所有出版商业(business)书籍的出版社的名称

 

() 存储过程

编写存储过程proc_CourseBySname并调用它。

要求:输入学生姓名,查询该学生的选课信息,同时,返回该学生的选修课程数。