数据库的永久关系中,子表可以建立普通索引吗

数据库的永久关系中,子表可以建立普通索引吗,第1张

是可以的,子表是指与主表建立了永久关系的表,子表可以建立普通索引,以加快查询效率。普通索引是一种特殊的索引,它可以加快查询数据库中的数据,提高查询效率。普通索引可以在子表中建立,子表可以利用普通索引来查询主表中的数据,从而提高查询的效率,提高系统的性能。

SQL SERVRE 2000 测试通过

CREATE DATABASE shop

GO

use shop

/ 用户信息 /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'UserInfo_table')

DROP TABLE UserInfo_table

GO

CREATE TABLE UserInfo_table

(

userId smallint /用户编号/

IDENTITY(1,1),

loginName varchar(20) not null, /登陆名称/

userName varchar(20) not null, /用户名称/

userPwd varchar(10) not null, /用户密码/

userType varchar(20) not null, /用户类型/

userSex varchar(2), /用户性别/

userPhone varchar(20), /用户电话/

userEmail varchar(40), /用户邮件/

userAddress varchar(200), /用户地址/

userZip varchar(10), /用户邮编/

createTime datetime default getdate(), /注册时间/

updateTime datetime, /更新时间/

userStatus varchar(4) not null, /用户状态/

userLevel int, /用户级别/

constraint pk_userinfo primary key(userId)

)

/ 系统代码表 /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'CommonCode_table')

DROP TABLE CommonCode_table

GO

CREATE TABLE CommonCode_table

(

codeType varchar(20) not null, /代码类型/

codeName varchar(20) not null, /代码名称/

codeValue varchar(100) not null, /代码值/

constraint pk_commoncode primary key(codeType, codeName)

)

/ 菜单信息 /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'MenuShop_table')

DROP TABLE MenuShop_table

GO

CREATE TABLE MenuShop_table

(

menuId varchar(50) not null,

menuName varchar(50),

menuImg varchar(50),

menuSelImg varchar(50),

menuAction varchar(50),

menuLevel smallint not null,

parentMenuId varchar(50),

menuLine smallint not null,

isUserMenu bit not null,

constraint pk_menushop primary key(menuId)

)

/ 用户订单 /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'UserOrder_table')

DROP TABLE UserOrder_table

GO

CREATE TABLE UserOrder_table

(

orderId varchar(50) not null, /订单号/

userId smallint not null, /订购人ID/

orderTime datetime not null, /订单产生日期/

orderStatus char(2) not null, /订单是否确认,0/1/

orderPassTime datetime, /确认时间/

orderPassId smallint, /订单处理人/

orderSendState char(2), /订单发送状态/

orderRecName varchar(20), /订单接收人姓名/

orderRecMail varchar(20),

orderRecAddress varchar(200), /订单接收地址/

orderRecZip varchar(10), /订单接受地址邮编/

orderTotalPrice decimal(10,2), /订单总价/

lineIndexNext int,

constraint pk_userorder primary key(orderId)

)

/ 订单中项目信息 /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'LineItem_table')

DROP TABLE LineItem_table

GO

CREATE TABLE LineItem_table

(

orderId varchar(50) not null, /订单号/

lineIndex int not null, /订单索引/

itemId varchar(50) not null,

productId int not null, /产品ID/

quantity int not null, /订单项数量/

unitPrice decimal(10, 2) not null, /该订单项的价格/

orderStatus int not null,

constraint pk_lineitem primary key(orderId, lineIndex)

)

/ 商品类别信息 /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'ProductCategory_table')

DROP TABLE ProductCategory_table

GO

CREATE TABLE ProductCategory_table

(

catId int

IDENTITY(1,1), /类别编号/

catName varchar(100) not null, /类别名称/

parentId int, /父级类别ID/

catHaveChild varchar(2) not null, /是否有子类别Y/N/

sort int not null, /排序标志/

inputdate datetime default getdate(), /建立时间/

isValid varchar(2), /此类别是否有效/

decs varchar(255), /说明/

constraint pk_productcategory primary key(catId)

)

/ 产品信息 /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'ProductInfo_table')

DROP TABLE ProductInfo_table

GO

CREATE TABLE ProductInfo_table

(

productId int

IDENTITY(1,1), /编号/

catId int not null, /类别ID/

productName varchar(100), /物品名称/

productContent varchar(4000),

productDesc varchar(1000), /物品简介/

isPrompt bit default 0, /是否优惠/

registerTime datetime default getdate(), /上架日期/

listPrice decimal(10, 2), /物品价格/

unitPrice decimal(10, 2), /会员价格/

orderDesc varchar(1000), /订购说明/

productImgUrl varchar(200), /物品/

sort int, /排序标记/

productCount int, /库存量/

isValid bit not null,

constraint pk_productInfo primary key(productId),

constraint fk_product foreign key(catId)

references ProductCategory_table(catId)

)

/ /

create index ProductCategory on ProductInfo_table(catId);

create index ProdcutName on ProductInfo_table(productName);

/ 公告信息 /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'BulletinInfo_table')

DROP TABLE BulletinInfo_table

GO

CREATE TABLE BulletinInfo_table

(

bulletinId int

IDENTITY(1,1), /编号/

bulletinTitle varchar(100) not null, /公告板标题/

bulletinBody varchar(4000), /公告板内容/

inputDate datetime default getdate(), /添加日期/

updateDate datetime, /更新日期/

inputUserId smallint, /添加管理员ID/

bulletinPoint int, /浏览量/

bulletinSort int, /排序标记/

isValid char(2) default 1, /是否有效/

constraint pk_bulletinInfo primary key(bulletinId)

)

/ 公告信息 /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'ItemInfo_table')

DROP TABLE ItemInfo_table

GO

CREATE TABLE ItemInfo_table

(

itemId varchar(50), /项目ID/

productId int not null, /项目产品ID/

quantity int not null,

listPrice decimal(10,2), /物品价格/

unitPrice decimal(10,2), /会员价格/

status varchar(2), /更新日期/

constraint pk_iteminfo primary key(itemId)

)

/ /

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMATABLES

WHERE TABLE_NAME = 'Serial_Number')

DROP TABLE Serial_Number

GO

CREATE TABLE Serial_Number

(

serialId varchar(50) not null,

SerialNumber int,

constraint pk_SerialNumber primary key(serialId)

)

article_cate是父表

article是子表

在子表中设置附表的主键作为外键就可以了。

比如:

article_cate(cate_id,cate_name)

article(id,title,author,content,cate_id)

这个cate_id参照article_cate的cate_id

表(Table) ——表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。

查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。

窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。

报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。

宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列 *** 作。Access列出了一些常用的 *** 作供用户选择,使用起来十分方便。

模块(Module)——模块的功能与宏类似,但它定义的 *** 作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。

有几种不同的思路/技巧来处理:

1、类过程型:根据3类订单,逐一处理

11、先“调换类”

12、再“退货类”

sql略

13、最后“销售类”

sql略

2、对“类型”进行加权计算,放大差异,进行数字化统计

-CASE ItemType WHEN '旧品回收' THEN 10000 WHEN '新品退货' THEN 10 ELSE 0 END

这样可以对“子表”进行快速分组统计,

然后据此更新“主表”的“订单类型”字段。

视频属性: 视频id(主键)key1;视频地址;视频名称;视频分类1(主分类)key2;视频分类2(子分类)key3;

分类1(主分类)属性: 分类id(主键)key2;分类名称;

分类2(子分类)属性: 分类id(主键)key3;从属分类key2;分类名称;

以上就是关于数据库的永久关系中,子表可以建立普通索引吗全部的内容,包括:数据库的永久关系中,子表可以建立普通索引吗、建立购物网站数据库 需要哪些表和字段 越详细越好、数据库中一篇个文章有多个文章分类时该如何设置外键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9693651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存