我正在爲房地產應用程序設計一個數據庫。該應用程序的基本結構如下。MySQL中的一對多關係表格
a)申請包括存儲與 房地產相關的記錄。
B)的特性被劃分成類別和交易類型 (出售,出租,租賃)等
c)中的類別被分成子類別。
以存在以下記錄爲例。
Transaction = Rent , Sale, Lease.
Categories = Residential , Commercial , Industrial , Agricultural
SubCategories = Residential_Apartment (belongs to residential category)
Villa/House (belongs to residential category)
Commercial_OfficeSpace (belongs to commercial category)
Commercial_Plot (belongs to commercial category)
Industrial_Plot (belongs to industrial category)
我要創建的PROPERT和上述所有的三個確定哪些屬性之間的關係被存儲在例如
Property with id:1 is Transaction:Rent, Category:Residential, Subcategory:Villa/House
Property with id:2 is Transaction:Sale, Category:Residential, Subcategory:Residential_Apartment
Property with id:3 is Transaction:Lease, Category:Commercial, Subcategory:Commercial_Officespace
我的當前表結構如下
CREATE TABLE IF NOT EXISTS `transaction` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`transactionName` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`categoryName` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `subcategory` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`subCategoryName` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `property` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`transaction_id` int(11) NOT NULL,
`category_id` int(11) NOT NULL,
`subcategory_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
編輯:
我的問題是。
看到它們之間的關係,它是存儲記錄的正確方法嗎?我主要關心的是類別和子類別表,因爲現在我無法考慮將來可能發生的設計缺陷。我只想知道如果你被告知要設計類似的東西,你會如何在表中存儲記錄。主要是類別和子類別部分。
耶,繼承結構可能很好,但不是我要求的。因爲屬性只能聯繫一個transactionType一個類別和一個子類別。全部從根交易繼承到分類到子類別。你給了我一個關於我應該怎麼去的更好主意的鏈接。謝謝:) – 2012-03-10 18:50:30
總是樂於提供幫助,即使它是間接的:)同樣,如果你喜歡那個,請記得點贊另一個帖子,因爲它總是很好地幫助他們,即使比他們原來的帖子晚得多。 – 2012-03-10 18:57:14