数据库表例题
楼上的--理论很多不太使用:ㄨinsert -增加语句用法 insert into(Name,Sec)values("张三","李四") --这个语句1.习题:插入学员信息 Name,Sex,Age,Address (地址可为null) 要有自动标识列。 2.实现一次插入多行。3.把原有表中的某个字段 移到新表中 提示:select <字段> into newtable from <原表> ㄨdelecte --删除语句delecte from <表> [where<条件>]例题:上表中 --删除 年龄是66和地址为null 信息 (年龄与地址自己添加) ㄨupdate--更新语句update set <条件> where[限制条件]例题:把年龄大于50岁的 更新为49岁 其余条件自己加 ㄨselect --查询语句select <字段1>,<字段2> from <表> where [条件]例题:从表1、表2中查找相同字段并且 把相同字段存放到新的表中这里子查询就不多说了。这些题很基础你试一试。
⑵ 数据库练习题。
前2题很简单同上, 网页不让我贴上去. 呵呵 ^_^3. select 图书表.书名 , 借阅表.借书日期 from 读者表 , 借阅表 , 图书表 where 读者表.姓名 =“李%” and 借阅表.借书证号 = 读者表.借书证号 and 借阅表.总编号 = 图书表.总编号4. select 借阅表.借书证号 from 图书表 , 借阅表 where 借阅表.总编号 = 图书表.总编号 and 书名 = "SQL Server大全"5. select 读者表.姓名 , 读者表.所在单位 , 借阅表.借书日期 from 读者表 , 借阅表 where 借阅表.借书日期 = (select 借阅表.借书日期 from 读者表 , 借阅表 where 读者表.姓名 = "赵正义" and 借阅表.借书证号 = 借阅表.借书证号) and 借阅表.借书证号 = 借阅表.借书证号 给你参考了5题了 希望你能在其中找到解决问题的途径剩下的那题希望通过努力你自己能完成,那样你就有进步了.
⑶ 数据库习题
1、数据模型包含三个方面的内容:___(数据结构)____、对数据的操作、____(完整性规则)____________。。
2、关系是以___(二维表) __的结构来表示实体与实体间的联系。
3、数据库系统的三级模式结构由外模式、 (模式 ) 和内模式组成。
4、查询设计器分为上下两部分,上半部分是表的显示区,下半部分是 ( 查询设计区) 。
5、表操作共有三种视图,分别是设计视图,打印视图, (版面预览) 视图。
6、( 控件 ) 是窗体上用于显示数据、执行操作、装饰窗体的对象。
7、数字字段类型又分为整型、 (长整型) 、单精度类型、 (双精度类型) 等类型。
8、 (某一具体应用所涉及的数据必须满足的语义要求) 是指向表中输入数据时设置的字段值所要遵循的约束条件,即用户自定义完整性约束。
9、索引的类型有 (唯一索引) 、 (主键索引) 、( 聚集索引/非聚集索引) 。
10、窗体通常是由 ( 窗体主体) 、页脚及 ( 页眉) 3部分组成。
三、简答题
1、简述什么是查询以及查询的作用?
数据库查询是从指定的表或视图中提取满足条件的记录,然后按照想要得到的输出类型定向输出查询结果,诸如浏览器、报表、表、标签等。
2、关系模型的主要特点是什么?
优点:
·关系模型是建立在严格的数学概念的基础上的。
·无论实体还是实体之间的联系都用关系来表示。对数据的检索结果也是关系(即表),因此 概念单一,其数据结构简单、清晰。
·关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
缺点:
由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的负担。
3、解释属性、事件和方法的概念?
对象的具体特征称为“属性”
某一个触发的动作成为事件
触发事件后,具体的处理措施称之为“方法”。
⑷ 数据库的习题
答案肯定是D
啥是主码呢。primary key是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。
请注意。惟一标识。就是每条记录的主码的值必须不同。
现在我们来看题目。如果是A。因为一个订单可以订多种产品。这样会导致订单重复。不行。
B。一样的道理。
举个例子吧。
比如有3条记录。
他们的订单号,日期,客户名称,商品编码,数量分别为:
001 20081010 周杰伦 000001 2
001 20081010 周杰伦 000002 8
002 20081010 周杰伦 000002 3
这样。头2条记录的订单号相同。不能唯一区别。A不行。
头2条记录的订单号and姓名相同。不能唯一区别。B不行。
选D。
⑸ SQL数据库练习题~
1.select name from 学生
where 系别='数学系' and 性别='女';
2.select a.name from 学生 a inner join 选课 b
on a.学号=b.学号
where 成绩<60;
3.select a.name from 学生 a inner join 选课 b
on a.学号=b.学号
where avg(成绩)>=95;
4.select a.name from 学生 a inner join 选课 b
on a.学号=b.学号
where (select b.成绩 from 课程 c inner join 选课 b
on c.课程号=b.课程号 where 课程名='SQL Server 2000')<60
5.update 学生
set 年龄=年龄+1;
⑹ 数据库练习题
创建一个选择查询,按系别统计各自男女学生的平均年龄
SELECT
系,
性别,
AVG(年龄) AS 平均年龄
FROM
表
GROUP BY
系,
性别
上面是用 SQL 的处理方法。
楼主要求 “最好不是SQL啊”, 不知道楼主 希望是用什么?
一步一步操作?
那要说明是什么数据库啊.
如果是 Access的话, 操作顺序是这样的:
1、创建一个查询
2、在《显示表》窗口里面,把那个表 选中,按 添加按钮。
3、关闭《显示表》窗口, 进入设计窗口。
4、在表中,双击 系, 性别, 年龄 这3列, 加到下面的列表中。
5、在下面列表的地方,鼠标右键,在弹出窗口,选择 “汇总”
6、修改 年龄下面的 Group By, 变成 “计算” 注意,不是“总计”。
7、运行查询。
⑺ 创建数据库例题
create database qj1
on primary
(name=qj1Data1,filename='c:\qj1Data1.mdf',size=1,maxsize=5,filegrowth=1),
(name=qj1Data2,filename='c:\qj1Data12.ndf',size=1,maxsize=10,filegrowth=2)
log on
(name=qj1log1,filename='c:\qj1log1.ldf',size=1,maxsize=5,filegrowth=1)
⑻ 数据库关系范式的例题
3NF的分解,不存在传递和部分依赖的分机。
第一个表:工号(主键),姓名,工种(外键),车间(外键)。
第二个表:车间(主键),车间主任。
第三个表:工种(主键),定额。
第四个表:工号,时间(两个组合为主键),超额。
原来的那个表的超额的值根据什么来计算的,我假定的是它是根据时间和工号两个因素决定。定额我假定是根据工种来决定。
⑼ sql数据库设计实例
数据库技术是信息资源开发、管理和服务的最有效的手段。随着计算机技术、通信技术和网络技术的发展,数据库的应用范围越来越广泛,已渗透到社会的各个领域。从小型的单项事务处理系统到大型复杂的信息系统大都采用先进的数据库技术来保持系统数据的整体性、完整性和共享性。目前,数据库的建设规模、数据库信息的大小和使用频度已成为衡量一个国家或地区信息化程度的重要标识之一。 数据库设计时间里数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要去)。 在数据库领域内,使用数据库的各类系统通常被称为数据库应用系统。数据库技术和产品是计算机领域中最为活跃的部分之一,数据库技术与产品的发展总是与计算机技术的发展密切相关,从主机到现在的Internet/Intranet及网络计算。数据库总是站在技术的最前沿。 本系统采用了SQL SERVER 2008数据库作为后台数据库,SQL SERVER 2008是一个真正的多用户、多线程SQL数据库服务器。 3.2 库表概要设计 共分为以下四个数据库表: (1) 用户登陆信息表: Logintable (2) 客户资料表:nomalpeopletable (3) 员工信息表: workpeopletable (4) 购买商品表:ordertable (5) 全国城市表:Citytable (6) 食品信息表:Goodstable Logintable(登录验证表) 列名 数据类型 是否可以为空 备注 controllerId int 不 管理员工号 Password nvarchar(50) 不 登录密码 Type Int 不 1为普通管理员;2为高级管理员 Clienttable(客户信息表) 列名 数据类型 是否可以为空 备注 clientName nvarchar(50) 不 客户名称 clientOriginId Int 不 客户来源(外键对应controllertable中,controllerId) clientSort nvarchar(50) 不 客户类别(可选内容为工程商、代理商、工程甲方) clientCity nvarchar(50) 不 所在区域(可选框,全国的各个城市) clientPhone nvarchar(50) 不 联系电话 clientprincipal nvarchar(50) 不 联系人 clientMobile nvarchar(50) 可以 手机 clientAddress nvarchar(50) 不 联系地址 controllertable(员工信息表) 列名 数据类型 是否可以为空 备注 controllerId int 不 管理员工号,随机数 name nvarchar(50) 不 员工姓名 sex Char 不 员工性别 study Char 不 员工学历 worktime nvarchar(50) 不 从业时间 purchasetable(客户购买商品表) 列名 数据类型 是否可以为空 备注 Id Int 不 主键自增 clientName nvarchar(50) 不 企业名称 Money Money 不 购买金额 Time nvarchar(50) 不 购买时间 controllerId Int 不 (所属管理员)外键对应controllertable中,controllerId Text nvarchar(50) 不 产品名称 citytable(全国城市表) 列名 数据类型 是否可以为空 备注 Id Int 不 主键自增 City nvarchar(50) 不 城市名(如:安徽合肥) goodsTable(物品信息表) 列名 数据类型 是否可以为空 备注 Id Int 不 主键自增 Shopname nvarchar(50) 不 物品名称 unitprice Money 不 物品单价 不懂问我!我很在行的!~
⑽ SQL数据库的例题请教一下大家
看了你的题,首先几个表需要说明一下Out_Goods和In_Goods在定义表时少了Sh_address列,列的属性参考Provider表中的Address
问题解答:
问题1、自定义一个函数,计算供货商编号为PD001所提供产品的平均价格,如果平均价格〉70,则输出“价格适中”;如果平均价格<=70,则输出价格较低。
CREATE FUNCTION [dbo].[fn_calc_avg_price]
(
@PID char(10) = 'PD001'-----------货商编号,此处默认值为PD001
)
RETURNS varchar(50) AS
BEGIN
DECLARE @vchPriceDesc varchar(50)
DECLARE @mnyPriceAvg money
SELECT @mnyPriceAvg = AVG(PPrice)
FROM Proct WHERE PID = @PID
IF (@mnyPriceAvg > 70) SET @vchPriceDesc = '价格适中'
IF (@mnyPriceAvg <= 70) SET @vchPriceDesc = '价格较低'
RETURN @vchPriceDesc
END
问题2、创建一个内联表值函数,返回一个时间段内的出货信息,要求包括出货商品名称、供货商名称、出货价格、出货数量、出货日期。
CREATE FUNCTION [dbo].[fn_get_out_goods_info]
(
@dtBeginTime datetime, --------------------------时间段的起始时间
@dtEndTime datetime --------------------------时间段的终止时间
)
RETURNS @TempTable table
(
out_proct_name varchar(20),
out_provider_name varchar(20),
out_proct_price money,
out_proct_num int,
out_date datetime
)
AS
BEGIN
INSERT INTO @TempTable
SELECT
Proct.PName,
Provider.ProviderName,
Out_Goods.OutPrice,
Out_Goods.OutNum,
Out_Goods.OutDate
FROM
Proct, Provider, Out_Goods
WHERE
Provider.ProviderId = Out_Goods.ProviderId
AND Proct.PId = Out_Goods.PId
AND Out_Goods.OutDate <= @dtEndTime
AND Out_Goods.OutDate >= @dtBeginTime
RETURN
END
问题3、创建一个after触发器,当Provider 供货商信息表中的ProviderId发生更改时,同时更改In_Goods进货信息表和Out_Goods出货信息表ProviderId字段的值。
CREATE TRIGGER [trig_update_proID]
ON [dbo].[Provider]
AFTER UPDATE
AS
IF UPDATE(ProviderID)
BEGIN
UPDATE In_Goods SET ProviderID = (SELECT ProviderID FROM INSERTED) WHERE ProviderID = (SELECT ProviderID FROM DELETED)
UPDATE Out_Goods SET ProviderID = (SELECT ProviderID FROM INSERTED) WHERE ProviderID = (SELECT ProviderID FROM DELETED)
END
问题4、定义一个存储过程,要求使用游标,计算某段时间内售出产品的平均价格。
坦白的说,其实没必要使用游标,既然用了,那就顺便用下WHILE循环好了
CREATE PROCEDURE [dbo].[sp_calc_part_sales_price]
(
@dtBeginTime datetime,
@dtEndTime datetime
)
AS
DECLARE @mnyTotalPrice money
DECLARE @mnyCurPrice money
DECLARE @nCount int SELECT @nCount = 0
DECLARE cursPrice CURSOR LOCAL
FOR SELECT OutPrice FROM Out_Goods WHERE Out_Goods.OutDate <= @dtEndTime AND Out_Goods.OutDate >= @dtBeginTime
OPEN cursPrice
FETCH NEXT FROM cursPrice INTO @mnyCurPrice
WHILE @@FETCH_STATUS=0
BEGIN
SET @nCount = @nCount + 1
SET @mnyTotalPrice = @mnyTotalPrice + @mnyCurPrice
FETCH NEXT FROM cursPrice INTO @mnyCurPrice
END
IF @nCount = 0 SELECT 0 AS '平均价格'
IF @nCount > 0 SELECT @mnyTotalPrice/@nCount AS '平均价格'
OK,就这样吧,如果有不明白或者我写错的地方,再联系,Good Luck!