sql server 《音乐论坛》歌曲管理模块

4.试题编号:《音乐论坛》歌曲管理模块
(1)任务描述
《歌曲管理》模块的E-R图如图2.53.1 所示,逻辑数据模型、物理数据模型如图2.53.2和图2.53.3所示。数据表字段名定义见表2.53.1。请按以下设计完成数据库创建、数据表创建和数据操作任务:
在这里插入图片描述
图2.53.1 E-R图
在这里插入图片描述

图2.53.2 逻辑数据模型

在这里插入图片描述
图2.53.3 物理数据模型
字段名 字段说明 字段名 字段说明
uId(标识列) 用户ID menuId(标识列) 歌单ID
uName 用户名 songList 歌曲列表
uPass 密码 songID(标识列) 歌曲ID
sex 性别 singer 歌手名称
head 头像 album 专辑名称
introduction 简介 addr 歌曲地址
role 角色 sDown 下载次数
typeId(标识列) 类型ID typeName 类型名称

表2.53.1 字段名定义表
字段名 字段说明 字段名 字段说明
uId(标识列) 用户ID menuId(标识列) 歌单ID
uName 用户名 songList 歌曲列表
uPass 密码 songID(标识列) 歌曲ID
sex 性别 singer 歌手名称
head 头像 album 专辑名称
introduction 简介 addr 歌曲地址
role 角色 sDown 下载次数
typeId(标识列) 类型ID typeName 类型名称

任务一:创建数据库(10分)
创建数据库MusicClubDB。
任务二:创建数据表(25分)
根据图2.53.2和表2.53.1,创建数据表T_User、T_song、T_Menu、T_type。
任务三:创建数据表间的关系及约束(15分)及约束
• 根据物理数据原型,创建数据关系;
• 为表设置主键,主键命名为“pk_<表名><主键标识>”;
• 根据逻辑模型,创建数据表之间的关系,关系命名为“fk
<表名><主表名><外键标识>” 。
答案
create database MusicClubDB
go
use MusicClubDB
go
create table T_song
(
songID Integer not null ,
typeId Integer ,
songName varchar(1000) not null,
singer varchar(20) not null,
addr varchar(200) not null,
album varchar(100) not null,
sDown Integer
)
go
create table T_User
(
uId Integer not null ,
uName Varchar(40) not null,
uPass Varchar(20) not null,
head Varchar(50) ,
sex Varchar(2)not null,
role Varchar(20)not null,
introduction Varchar(500)

)
go
create table T_Menu
(
menuId Integer not null,
uId Integer,
songList varchar(1000)
)
go
create table T_type(
typeId Integer not null,
typeName Varchar(100) not null
)
go
alter table T_song
add constraint PK_T_song_songID primary key(songID)

go
alter table T_User
add constraint PK_T_User_suId primary key(uId)
go
alter table T_Menu
add constraint PK_T_Menu_info_menuId primary key(menuId)
go
alter table T_type
add constraint PK_T_type_typeId primary key(typeId)
go
alter table T_Menu
add constraint FK_T_Menu_T_User foreign key(uId) references T_User(uId)
go
alter table T_song
add constraint FK_T_song_T_user_info foreign key(typeId) references T_type(typeId)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值