分析设计网上书店数据库,并画E-R图
? ? ? ? 分析并設計網上書店數據庫,繪制E-R圖,網上書店具有如下功能:
1、會員的注冊、登錄
2、網上預訂圖書
3、圖書信息瀏覽
訓練技能點:
1、會將E-R圖轉換為表
2、理解數據規范化
4、將分析在SQL Server數據庫中實現具體的表
Sql server三范式的理解:
第一范式:數組的每個屬性只能包含一個值;
關系中的每個數組必須包含相同的數量的值;
關系中的每個數組一定不能相同。
第二范式:如果一個數據表已經滿足第一范式,而且該數據表中的任何一個非主鍵字段的數值都依賴于該數據表的主鍵字段,那么該數據表滿足第二范式。
第三范式:如果一個數據表已經滿足第二范式,而且該數據表中的任何兩個非主鍵字段的數值之間不存在函數信賴關系,那么該數據表滿足第三范式。
數據庫實體分析結果:
會員Users(會員編號,昵稱,密碼,電子郵件,等級)
等級UserGrade(等級編號,等級名稱)
圖書訂單Orders(訂單編號,會員編號,書編號,數量,總價,預定日期)
書Books(書編號,書名,作者,出版社編號,單價)
出版社Publishers(出版社,出版社名稱)
分析后繪制E-R圖如下:
用word把各實體關系圖轉化為表格;標識主鍵,用紅色加粗字體把主鍵標識出來;需要在表之間體現實體之間的映射關系,即建立表的外鍵,用綠色加粗字體標識外鍵
然后建立網上書店數據庫(Online_Bookstore)并插入部分數據
use master create database Online_Bookstore on primary ( name='Online_Bookstore', filename='D:\Data\Online_Bookstore.mdf', size=10, maxsize=20, filegrowth=10% ) log on ( name='Online_Bookstore_log', filename='D:\Data\Online_Bookstore_log.ldf', size=1, maxsize=10, filegrowth=10% )use Online_Bookstore create table Users( UserID int primary key not null, UserName varchar(20) not null, Pwd varchar(10) null, Email varchar(40) null, GradeID int not null )create table Orders( OrderID int primary key not null, UserID int not null, BookID int not null, Number int not null, OrderDate datetime not null, OrderPrice money not null )create table Books( BookID int primary key not null, BookName varchar(20) not null, Author varchar(10) not null, PublisherID int not null, BookPrice money not null )create table UserGrade( GradeID int primary key not null, GradeName varchar(20) not null )create table Publishers( PublisherID int primary key not null, PublisherName varchar(20) not null )--創建約束 alter table Users add constraint fk_GradeID foreign key (GradeID) references UserGrade(GradeID) alter table Orders add constraint df_Number default 0 for Number alter table Orders add constraint df_OrderPrice default 0 for OrderPrice alter table Orders add constraint fk_UserID foreign key(UserID) references Users(UserID) alter table Orders add constraint fk_BookID foreign key(BookID) references Books(BookID) alter table Books add constraint fk_PublisherID foreign key(PublisherID) references Publishers(PublisherID)--插入數據 insert into Users(UserID,UserName,Pwd,Email,GradeID) values(1001,'Mark','ss66##','cruo@126.com',2) insert into Users(UserID,UserName,Pwd,Email,GradeID) values(1002,'瑪麗','458712','mali@163.com',1) insert into Users(UserID,UserName,Pwd,Email,GradeID) values(1003,'Sunny','sunny008','Sunny008@hotmail.com',2) insert into Users(UserID,UserName,Pwd,Email,GradeID) values(1004,'驕陽似火','upp8912','Hell80@topvip.com',2) insert into Users(UserID,UserName,Pwd,Email,GradeID) values(1005,'綠野萍蹤','lypz800*','Lypz008@sohu.com',3)insert into UserGrade(GradeID,GradeName) values(1,'普通會員') insert into UserGrade(GradeID,GradeName) values(2,'VIP會員') insert into UserGrade(GradeID,GradeName) values(3,'鉆石會員')建立數據庫關系圖:
如有錯誤,還望指正 [抱拳]
總結
以上是生活随笔為你收集整理的分析设计网上书店数据库,并画E-R图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++对象数组与对象指针
- 下一篇: 数据结构顺序表