Zastanawiałem się nad tym, żeby zrobić jedną tabelę Osoby, ale później będę musiał tworzyć dalsze tabele (inne relacje są z pracownikami, inne z kontrahentami itp), np faktury dla kontrahentów, pensje dla pracowników, upoważnienia dla Reprezentantów, itp... Nie będzie to problemem? Nie będzie problemu, żeby filtrować po tej dodatkowej kolumnie?
Jeśli będziesz miał tabelę Osoby, w której będziesz miał np 5 reprezentantów (id 1-5), 5 kontrahentów (id 6-10) i 5 pracowników (id 11-15); i będziesz chciał dodać faktury dla kontrahentów, to zrobisz sobie tabelę Invoices w której będzie (ID_Invoice, ID_Osoba) i dodasz faktury dla osób o id 6-10 i tyle.
@karol159 W ogóle mam wrażenie że strasznie gmatwasz tym migrowaniem "excela do bazy". Dużo prościej i lepiej byłoby gdybyś po prostu napisał słownie jakie dane chcesz trzymać - nie słownictwem z baz, nie słownictwem z excela, tylko słownictwem ludzkim. Wtedy moglibyśmy wymyślić spoko strukturę.
Dane, które chciałbym złożyć:
- Moja Firma (nazwa, adres, Telefon stacjonarny, Telefon komórkowy, @, www, NIP, REGON, VAT, Nazwa Banku, SWIFT, Nr konta w PLN, Nr konta w Euro, Reprezentant, Prokurent, Firma Księgowa).
- Pracownicy (Zwrot grzecznościowy, Nazwisko, Imię, Adres, data urodzenia, PESEL, telefon, @, Nazwa Banku, SWIFT, Nr konta w PLN, typ umowy (o pracę, zlecenie, dzieło), wielkość etatu (pełen, 1/2, x godzin w miesiącu), data zawarcia umowy, stanowisko, wynagrodzenie, dane do logowania do systemu z uwzględnieniem kilku zakresów dostępności do danych).
- Kontrahenci (nazwa, adres, Telefon stacjonarny, Telefon komórkowy, @, www, NIP, REGON, VAT, Nazwa Banku, SWIFT, Nr konta w PLN, Nr konta w Euro, Zwrot grzecznościowy, Pracownicy reprezentujący Kontrahenta + ich dane kontaktowe, branża i podbranża).
- Potencjalni Kontrahenci (nazwa, adres, Telefon stacjonarny, Telefon komórkowy, @, www, NIP, REGON, VAT, Zwrot grzecznościowy, Pracownicy reprezentujący Kontrahenta + ich dane kontaktowe, branża i podbranża).
- Kontakt z potencjalnymi Kontrahentami (z kim, kiedy, odczucia, czy wstępnie zainteresowani, droga kontaktu).
- Zawierane umów (z kim (kilka osób równocześnie), typ umowy (o pracę, B2B itp.), data zawarcia, data wypowiedzenia, termin wypowiedzenia, forma wypowiedzenia).
- Kosztorysy (od kogo zapytanie, data otrzymania, data odpowiedzi, numer zapytania, składanie kosztorysu na podstawie świadczonych usług, wartość kosztorysu, status kosztorysu (zaakceptowany, odrzucony, w oczekiwaniu).
- Moje usługi ( nazwa, podnazwa, wartość jednostkowa w PLN, wartość jednostkowa w godzinach).
- Faktury otrzymane/wystawione (na kogo/od kogo, numer, numer kosztorysu dla faktury, data wystawienia, data płatności, termin płatności, sposób płatności, wartość bez i z Vatem, wartość Vatu, informacja czy zapłacona).
- Harmonogram Gantta (uwzględnienie zaakceptowanych kosztorysów, dostępny personel, uwzględnienie potencjalnie zaakceptowanych kosztorysów, współczynnik obciążenia).
- Kalendarz spotkań (kto, z kim, kiedy, jak długo, o czym, uwagi).
- Wiadomości mailowe.
Wydaje się, że to wszystko. Takie sprawy jak Pracownicy, logowanie, kalendarz spotkań, wiadomości mailowe to przyszłość. W tej chwili jestem samozatrudniony i wierzę, że za jakiś czas będę pracował w zespole.
Wydaje mi się, że złożenie z tych informacji ciekawej bazy zajmie trochę czasu. Sam mam trochę czasu wolnego i chętnie pomajstruję...
Dzięki za zainteresowanie tematem.
Kontrahent, Pracownik, czy Reprezentant mogą mieć różne dane. Jeśli w tym diagramie stosujesz uproszczenia to myśl o rozbiciu tego od razu.
Ja w tabeli kontrahent nie dałbym kolumn typu imię, nazwisko a nazwa firmy, nr NIP. Co Oczywiście nie będzie zapewne miało miejsca dla pracowników, gdzie z kolei będziesz mieć PESEL.
Ale oczywiście wszystko zależy co chcesz trzymać w tych tabelach.
Zobacz sobie tutaj: https://www.sqlpedia.pl/relacyjne-bazy-danych-pojecia-podstawowe/
i poczytaj o relacji wiele do wielu.
Dzięki za info. Właśnie napisałem co chciałbym mieć w tej bazie. Dokładnie tak jak piszesz, przyjąłem, że Kontrahent, Pracownik, czy Reprezentant mają inne dane.
Schemat jest totalnym uproszczeniem, ponieważ to nie jest moja branża: wiem co chcę otrzymać i szukam informacji. Jak coś znajdę to testuję. Jak działa to idę dalej, jak nie działa to szukam.... I właśnie stanąłem na samym początku, że nie wiem jak połączyć te tabele. Nie było sensu rozbudowywać dalej każdej z tabel skoro nie wiem, czy tak może być...