Как да внедрим абстракция, връзка родител-дете в база данни за достъп

Следното е примерната класова диаграма за приложение, върху което работя. Ще използвам C# за запитване към моята база данни на Access (няма да използвам LINQ). Въпросът ми е относно връзката родител-дете между клас клиент (родител/абстрактен клас) и три други дъщерни класа, които произтичат от него, търговец на дребно/бизнес, корпоративен и потребител. Проектирах класа на диаграма и така възнамерявам да внедря в C#, това, което не знам, е как да внедря това в базата данни на MS Access. Трябва ли да създам таблица за родителския клас, който е Customer, и след това три други таблици за трите дъщерни класа? Как да дефинирам връзките като родител-дете и как да ги запитам? Например, ако търся ВСИЧКИ клиенти, правя ли заявка само в таблицата с клиенти или всички нейни дъщерни таблици? Моля, игнорирайте атрибутите засега, тъй като ще ги прецизирам по-късно. Благодаря.

Ниската репутация не ми позволи директно да премина изображението тук, затова поставих изображението на класовата диаграма тук, моля, погледнете.

http://postimg.org/image/wesl37i8f/


person SajidBarcha    schedule 20.11.2014    source източник


Отговори (1)


Мисля, че всичко, от което се нуждаете, са някои основни уроци по бази данни: тук: http://code.tutsplus.com/tutorials/relational-databases-for-dummies--net-30244 https://www.google.co.uk/search?q=how%20to%20create%20relational%20database&gws_rd=ssl

почти сте готови с вашата класова диаграма, сега трябва да идентифицирате идентичностите и да ги нормализирате. Да, за всички ваши класове трябва да създадете таблица.

как да дефинирате връзки: във вашата диаграма на класовете имате [customer_table] и [бизнес, корпоративни, потребители] в рационална база данни ще имате [customer_table] в [customer_table] ще имате [ customer_type_id], който действа като свързващ ключ към вашата таблица [customer_type].

ако създадете нов клиент, тогава ще изберете тип клиент от вашата таблица customer_type и това ще бъде проста връзка.

за заявка към таблицата с клиенти: ако искате да получите всички подробности за клиентите, можете да направите заявка само към customer_table. ако искате да знаете какъв тип клиенти са, бихте могли да свържете [customer_table] с [customer_type_table] нещо linke

select customer_table.customer_name, customer_type_table.customer_type
from customer_table inner join customer_type_table on customer_Table.customer_type_id = customer_type_table.customer_type_id

погледнете горните връзки, те може да ви помогнат да разберете повече. ако сте закъсали, можете да публикувате всичко, което сте опитвали досега. късмет

person Krish    schedule 21.11.2014
comment
Благодаря, брато, разбрах това след известно проучване онзи ден и точно така го направих. - person SajidBarcha; 24.11.2014