Re: [SQL ] 線上DVD系統 , mysql , 正規化

看板Database作者 (守護神)時間18年前 (2007/06/01 21:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/19 (看更多)
※ 引述《aiyswu (樂子)》之銘言: : @@ : 我是某四技資管系學生,目前正在作「系統分析」這門課。 : 雖然老師沒有要求,一定要弄出介面和資料庫。 : 不過有作有加分嘛!正好可以從實做中學習,有壓力,比較好學東西。 : 其實我也有自個兒找些網站。 : 例如:http://chensh.loxa.edu.tw/php/B_1.php : 不過;觀念上,還是有些混沌。 : 我們要作的系統及資料庫為「DVD線上系統」 : 主要是使一般DVD出租店,能夠擁有一個放在網路上,讓會員可以在家裡 : 上網,就能夠得知,某DVD片,是否還有庫存,是否可預借,以及查詢DVD : 新片、DVD預借、熱門排行、押金餘額等等。 : 我的資料庫規劃出這樣↓ : 資料庫 DVDonline member memberPky int(10) un primary 會員流水號 memberCid char(16) index 會員身份代碼 memberRealname char(24) index 會員真實姓名 memberBirth date index 會員生日日期 memberLevel tinyint(3) un index 會員等級 memberDepost decimal(10,2) 0 index 會員剩餘存額 memberJoinDate date 會員加入日期 movie moviePky int(10) un primary 電影流水號 movieName char(64) index 電影名稱 movieOrigName char(64) index 電影原名 film filmPky int(10) un primary 影帶流水號 moviePky int(10) un index 電影流水號 filmCid char(16) index 影帶編號 filmType tinyint(3) un index 影帶類別 filmStatus tinyint(3) un 0 index 影帶狀態(架上/出借/遺失) filmRentCount int(10) un 0 index 影帶出租次數 filmJoinDate date 影帶入庫日期 filmDropDate date nu 影帶下架日期 person personPky int(10) un primary 人名流水號 personRealname char(24) index 人名 publishing publishingPky int(10) un primary 片商流水號 publishingName char(24) 片商名稱 comm commPky int(10) un primary 聯絡方式流水號 memberPky int(10) un index 會員流水號 commContent char(128) 聯絡方式內容 commType tinyint(3) un index 聯絡方式類別 commUpdateDate date index 聯絡方式最後更新日期 renting filmPky int(10) un index 影帶流水號 memberPky int(10) un index 會員流水號 rentingOpenDate date 出借日期 rentingReturnDate date 預計歸還日期 rentingCloseDate date nu 歸還日期 booking moviePky int(10) un index 電影流水號 memberPky int(10) un index 會員流水號 bookingDate date index 預約日期 bookingStatus tinyint(3) un index 預約狀態 bookingDisableDate date nu index 預約完成日期 lising moviePky int(10) un i+primary 電影流水號 personPky int(10) un i+primary 人名流水號 listingStatus tinyint(3) un i+primary 角色關係(導演/演員) 查詢未歸還名單 SELECT movie.movieName,film.filmCid,member.memberRealname FROM film LEFT JOIN movie ON film.moviePky=movie.moviePky LEFT JOIN renting ON film.filmPky= renting.filmPky LEFT JOIN member ON member.memberPky=renting.memberPky WHERE renting.rentingCloseDate is NULL ORDER BY renting.rentingReturnDate DESC 查詢電影資料 SELECT person.personRealname,listing.listingStatus,movie.movieName FROM person LEFT JOIN listing ON listing.personPky=person.personPky LEFT JOIN movie ON movie.moviePky=listing.moviePky WHERE movie.moviePky='%d' ORDER BY listing.listingStatus 如果是我大概就這樣寫吧 ^^"" : - 資料表 MemberList : - No(會員編號) int(10) Unsigned , Primary : - Name(會員姓名) varchar(10) : - Age(年齡) tinyint(2) Unsigned : - ID(統一編號) varchar(10) : - Phone(聯絡電話) varchar(15) Unsigned : - Add(地址) varchar(100) : - LoanMovie(已借影片) varchar(10) : - AheadMovie(預借影片) varchar(10) : - LoanDate(到期日) date : - 資料表 MovieList : - MovieNo(影片編號) int(10) Unsigned , Primary : - MovieName(影片名稱) varchar(20) : - Airect(導演) varchar(20) : - Actor(演員) varchar(100) : - MFAT(片商) varchar(20) : - LoanTimes(借閱次數) smallint(5) Unsigned : - MovieState(影片狀態)varchar(20) : 由於人數僅三人,且都不是很了解資料庫,甚至有人沒有接觸過資料 : 庫。所以資料庫暫時不規劃得很複雜,畢竟連正規化都不會了,所以 : ;影片部份也沒有規劃欄位來表示影片類型等等。 : 目前是希望做到二階正規化,不曉得上面是否已算是二階正規化呢? : 相依性的問題,我還是搞不是很清楚。我的資料庫都是模仿中原大學 : 網路策進會的教學影片作的。 : 請各位前輩,指導一下吧@@.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.158.15
文章代碼(AID): #16O1h50k (Database)
討論串 (同標題文章)
文章代碼(AID): #16O1h50k (Database)