Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

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

     

Препоръчан отговор


Здравейте,

 

Студент последна година съм и заданието за дипломната ми работа е "Софтуер за фитнес клуб". Правя го на C#, използвайки Windows Forms и Visual Studio 2012. Започнах да правя нещо и стигнах до създаването на релациите в базата данни и връзките между тях. Първо трябва да си направя качествено БД за да продължа нататък. Използвам вградената в студиото СУБД. А сега същинската част:

 

До момента съм замислил със сигурност да ги има следните таблици: Клиенти, Служители, Абонаменти, Продукти, Доставки, Доставчици, Заплати, Работни графици, Оборудване. Мисля, че ми трябват още 2 таблици - една за приходи и разходи, която за момента съм я кръстил Баланс, и една за провеждане на тренировки между конкретни инструктор и клиент.

 

Идва ред на атрибутите на релациите:

  • за Клиенти - Id, FirstName, LastName, SubFrom, SubTo, SubType, AddedAt, NumberRenewings, Email и PhoneNumber. На български те са съответно - идентификационен номер, име, фамилия, абонамент от(дата), абонамент до(дата), тип абонамент, добавен на(регистрация на клиенти в БД - дата), брой подновявания(на абонамента), ел. поща и телефон. Може би е добро и един атрубут инструктор - дали ползва или не (true/false).
  • за Служители - Id, FirstName, LastName, FirstWorkDayDate, MonthSalary. На български съответно - първите 3 са ясни, дата на постъпване и месечна заплата. Идеята тези две таблици да са отделени една от друга е: първо, че във всяка от тях има специфична информация, която не е нужна в другата таблица - т.е. ще има доста полета с NULL стойност; второ, че така ще си улесня заявките. В самото приложение, оттам и в базата данни, мисля да има 3 роли за служител - шеф, който има достъп до всичко, инструктор, който може да си провери графика, с кои клиенти работи и т.н., и касиер, който да регистрира нови клиенти, подновява абонаменти и т.н.
  • за Продукти - Id, Name, Amount, Barcode, Group, LastDeliveryDate, FutureDeliveryDate. От английски се подразбира, но все пак - идентификационен номер, име на продукт, количество, баркод, група (аминокиселини, протеини и пр.), дата на последна доставка и дата на бъдеща доставка.
  • за Абонаменти - Id, Name, Price, Duration(months). Съответно - идентификационен номер, име, цена, продължителност(в месеци).
  • за Доставки - Id, Provier, Date, Price, Amount. Идентификационен номер, доставчик, дата, цена, количество. Идеята е в тази таблица да присъстват всички доставки - т.е., очаква се да  има много редове за 1 продукт, но идеята все пак е пълен отчет. Може би тук е мястото, където да имам атрибути - доставна цена и продажна цена.

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

  • В Доставчици да пазя ид на доставчик, име на фирмата доставчик, адрес, телефон за връзка, e-mail и подобни.
  • В Работни графици да пазя ид, ид на служител, смяна, работно време, дата и т.н. За всеки ден тук ще се пази кой кога е на работа
  • В Баланс - да има ежедневен отчет за приходи и разходи - ид, дата, вид на операция (приход или разход), не се сещам за други полета, но със сигурност трябват.
  • В Оборудване - ид, име (например дъмбел 5 кг.), брой, дата на доставка, брой ремонти, срок на годност, дата на бъдеща смяна, цена при закупуване. Нещо подобно.
  • В Заплати - за всеки месец ще съхраняваме информация кой служител каква заплата е взел - ид, ид на служител, месец и година, пари, още нещо? Пълен отчет.
  • Във все още безименната таблица, в която да се опише тренировката между клиент и инструктор - ид-та и на двамата, дата на провеждане, начален час, краен час, цена (може би). Тук помагайте.

Първични ключове във всички таблици е полето Id.

Като цяло май това са таблиците за момента. И ако кажем че за тях имам идея, то за връзките между тях ще имам нужда от помощ. 

Със сигурност трябва да има връзка между Служители и Заплати. Id на служител в таблицата за Заплати, тоест Id на служител ни е вторичен ключ в Заплати. Трябва да има връзка и между Клиенти и Служители - да можем да проверим за всеки клиент дали ползва инструктор, и ако да - кой? И обратно - инструктор да може да види кои са му клиенти. Т.е., излиза че и в двете таблици, трябва да има вторичен ключ от другата таблица. Отделно в таблицата за тренировка, трябва да ги има отново Id-тата на клиент и инструктор - може би реално тази таблица е връзката между Служители и Клиенти. Осъзнавам, че се получава излишък на информация, но целта ми е: първо, да мога лесно/директно да проверя на даден клиент кой му е инструктор например, и второ - ако правя заявка да е по-лесна. В Доставки трябва да има Id на продукт от таблица Продукти, т.е. е вторичен ключ. Доставчици и Доставки също трябва да имат връзка помежду си. Id на доставчик в Доставки.

 

Ще се радвам някой да прочете разсъжденията ми и да сподели съвет - как да променя релациите, атрубутите или връзките между тях. Ще бъде бонус ако се отзове и някой с опит в програмирането на C# и по-специално вградената СУБД в Visual Studio.

 

Предварително благодаря! Поздрави!

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Подобни теми

    • от moonluna
      Ще се радвам ако намеря такъв доброволец 
      C++😩

    • от dimi99stavrev
      Здравейте ! Имам следния проблем, преди десетина минути си ползвах месинджъра без проблем, влизам сега - първо ми иска да се логна, добре логнах се, но насреща ми един гол профил и туй то, нито приятелите ми ги има, нито чатовете, нито профилната, абе нищо, направо съм във потрес... Никнейма ми излиза, като този във Фейсбук и не ми дава да си го сменя, моля, помогнете!
    • от Ahmed Basha
      Здравейте искам да си купя монитор и съм се спрял между тези двата:Acer XF240H и BenQ Zowie xl2411p 
      Acer-a Има фриисинк,който ще ми бъде полезен с 1080-ката,но пък за сметка на това Зоуито е фликър-фрий,също така в Амазон има повече позитивни ревюта,та не мога да реша,ако може да ми помогнете с решението,ще съм много благодарен,благодаря предварително!  
    • от dimi99stavrev
      Здравейте! От скоро живея във Варна и се водя спортна натура. Изградил съм що годе физика без никаква химия, занимавал съм се с много различни спортове, но единственият ми досег със боен спорт беше борбата преси около 10 години и то за  има-няма и месец. Та питането ми е следното- понеже наближавам 20-те и някак си се чувствам дърт за начинаещ, та да попитам по-вещите има ли във Варна школи, които се занимават с дърти начинаещи? Единствените бойни спортове,  които не желая да практикувам са кикбокс, бокс и ММА, все пак главата ми трябва😉. Благодаря, ви предварително!
    • от NerdyBurdy
      Здравейте. Имам нужда от ново захранване за следната конфигурация: 
      част модел Дънна Платка Asrock Z77 Extreme 3 1555 Процесор Intelcore i5-3570k Видео Карта Asus GTX 760 OC 2GB Рам Памет 2x4GB Corsair Vengeance 1600Mhz 1.35v SSD Samsung Evo 850 240GB HDD 1TB някакво на Seagate Barracuda Захранване PSU Fractal Design 550W Edison M Black Охлаждане CM Hyper 212 EVO Кутия Fractal Design Define R4 Black Бих желал нещо по-евтино от това което имах, но все пак да е що годе качествено. Тъй като конфигурацията си е старичка вече не искам да инвестирам много в нея.
      Ако може да препоръчате някакво захранване от 70-100 лева максимум.
      Във сервиза ми предложиха да сменят захранването ми с това на cooler master elite v3 600W за 90 лева. Какво мислите за него? Читаво ли е?
  • Дарение

×
×
  • Добави ново...