電商資料庫表
① 電子商務類網站需要什麼資料庫
電子商務類網站需要的資料庫主要有以下兩種:
Windows Server 2003/2008+ASP.NET+IIS+MS SQL Server 2005/2008;
Linxu/Unix+PHP+Apache+MySQL。
電子商務企業資料庫必須具備的三大特性:
符合ACID原則:為了盡可能創建完美的用戶體驗,資料庫需要一個可以在每個事務中保證原子性、一致性、隔離性和持久性的資料庫,符合ACID的資料庫將會確保資料庫事務正確地完成,這意味著客戶可以在網站上獲得他們所查詢的返回值和正確的產品可用性;
可擴展性:MySQL資料庫可以處理海量數據,但由於MySQL只能夠'向上擴展',因此在某種程度上,單一成本、大排量的主伺服器將會出現瓶頸,所以,與其讓電子商務平台最終走投無路,技術人員應該考慮利用水平可伸縮的雲資料庫,資料庫可以很容易地擴展,以適應大流量的沖擊;
可用性高:如果資料庫和系統處於關閉狀態,客戶會對你的品牌失去信心,所以需要可用性高的資料庫,可用性高的資料庫可以確保良好的用戶體驗,同時還產生收入雙贏的局面。
② 建立一個購物網站,資料庫中需要建立哪幾個表
用戶表
商品表
訂單表
這是最最基本的.少一張也不行.
復雜的話,龐大到幾百張表也不是不可能.
③ 電子商務網站資料庫設計
洗衣機和筆記本因為屬性差別比較大,如果只建一個表的話,冗餘的信息太多,不符合範式的要求。
可以為同一類產品建一個,比如電子產品作為一個實體包括(筆記本,MP4,手機,照相機等等),因為電子產品的屬性比較相似,該實體的屬性有產品編號,名稱,尺寸,處理器,存儲器,屏幕尺寸等等。這要做既可以減少表的數量,又不會顯得數據過於冗餘。
所以要不要把數據放在一個表裡就要看你選擇的諸多實體是否有很多相同的屬性。當然沒有任何相同屬性的實體也是可以放在一個表裡的,那樣只會導致很多數據出現空值,也不會出現多大錯誤,數據查找會變得很慢而已,不能體現良好的設計思路。
④ 建立購物網站資料庫 需要哪些表和欄位 越詳細越好
SQL SERVRE 2000 測試通過
CREATE DATABASE shop
GO
use shop
/* ************************** 用戶信息 ************************** */
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
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_SCHEMA.TABLES
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_SCHEMA.TABLES
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_SCHEMA.TABLES
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_SCHEMA.TABLES
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,
proctId 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_SCHEMA.TABLES
WHERE TABLE_NAME = 'ProctCategory_table')
DROP TABLE ProctCategory_table
GO
CREATE TABLE ProctCategory_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_proctcategory primary key(catId)
)
/* ************************** 產品信息 ************************** */
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'ProctInfo_table')
DROP TABLE ProctInfo_table
GO
CREATE TABLE ProctInfo_table
(
proctId int
IDENTITY(1,1), /*編號*/
catId int not null, /*類別ID*/
proctName varchar(100), /*物品名稱*/
proctContent varchar(4000),
proctDesc varchar(1000), /*物品簡介*/
isPrompt bit default 0, /*是否優惠*/
registerTime datetime default getdate(), /*上架日期*/
listPrice decimal(10, 2), /*物品價格*/
unitPrice decimal(10, 2), /*會員價格*/
orderDesc varchar(1000), /*訂購說明*/
proctImgUrl varchar(200), /*物品圖片*/
sort int, /*排序標記*/
proctCount int, /*庫存量*/
isValid bit not null,
constraint pk_proctInfo primary key(proctId),
constraint fk_proct foreign key(catId)
references ProctCategory_table(catId)
)
/* ***************************************************************************** */
create index ProctCategory on ProctInfo_table(catId);
create index ProdcutName on ProctInfo_table(proctName);
/* ************************** 公告信息 ************************** */
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
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_SCHEMA.TABLES
WHERE TABLE_NAME = 'ItemInfo_table')
DROP TABLE ItemInfo_table
GO
CREATE TABLE ItemInfo_table
(
itemId varchar(50), /*項目ID*/
proctId 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_SCHEMA.TABLES
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)
)
⑤ 關於電商網站資料庫的設計有什麼好的建議
這個問題的核心點在於:不同商品類別差異很大,如何設計通用的存儲方案?簡單來說,用資料庫去存儲所有信息,不管橫表還是縱表,都有明顯的缺陷:橫表:同一個欄位對不同商品含義不一樣,這到了後面開發和維護是很蛋疼的縱表:一個商品的屬性分布到很多行記錄中,業務處理很麻煩,而且縱表的記錄數會非常多,性能會有問題所以不要嘗試只用資料庫去統一解決這個問題,思路擴散一些其實就簡單了:公共表:提煉商品公共的信息放到資料庫,例如商品id、名稱、發布的商家、發布日期、上架狀態擴展表:將變化的信息放到另外一個表,可以是資料庫表,例如電腦商品一個表、服裝一個表;也可以將信息放到MongoDB或者ElasticSearch這類文檔資料庫。搜索組件:擴展表在全文搜索的時候不好實現,因此需要獨立的組件負責搜索,可以用Elastic Search或者Solr來冗餘一份數據,用於搜索。表結構不算復雜,因為項目關系只有SPU,沒有涉及到SKU,但是可以做參考,更多的還是要根據項目實際情況設計。重點說明一下產品表的SPU,Keyword欄位。本來之前設計了關系表,但是發現在做SQL查詢時太痛苦,所以約定了一種數據存儲結構(數據結構的重要性)基於上面的基礎,可以實現URL規則變化的查詢,類似京東的產品查詢URL變化c=1,3 指分類層次關系ev=3_1+4_18 指SPU查詢 按約定規則轉換成字元串再進行查詢。
⑥ 做一個類似淘寶的購物商城資料庫需要哪些表
-----------------用戶信息-------------
-----------------系統代碼表-----------
---------------菜單信息--------------
-------------------用戶訂單--------------
---------------訂單 項目信息-----------
----------------商品類別信息-------------
----------------產品信息-----------------
----------------公告信息----------------
---------------訂單-----------------
-------------------訂單詳情---------------
⑦ 電商項目中,商品分類數據在資料庫中如何存儲
商品數據和分類類別存在兩張表中,通過一個分類欄位進行關聯-- 商品表 存儲所有商品數據(有一個分類欄位,存儲對應的商品分類id)-- 分類表 存儲所有的商品類別(有一個分類id編號)查詢時需要將商品表和分類表關聯,然後通過分類名稱進行篩選。在黑馬程序員學習的項目中,就是這樣設計數據表的。如果現在不考慮培訓的話,建議你到黑馬視頻庫,有很多技術大牛講免費的公開課的,能學到項目。有關項目的資料,源碼等等,可以直接網頁對話框領取的。