![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 2.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
zamierzać stworzyć bazę za pomocą mysql i phpmyadmina. Moja baza będzie zawierałą informacje na temat komputerów w firmie -jest ich około 46.. W każdej z tych tabel chcę przechowywać informację na temat posczególnych komputerów (nazwa sieciowa komputera, IP, MAC, Procesor, Dysk twardy, ilość ram oraz najwazniejsze to zainstalowane oprogramowanie + jego wersja) Założyłem sobie, że będzie to wygladać w taki sposób, że będę miał tabelkę "Komputery" a w niej nazwy komputerow z numerem id i teraz, zrobic jakos powiazanie jeden do wielu do tabelki "specyfikacja", gdzie bede pod dany komputer przypisywal dane (np RAM, Procesor, adres MAC itp..). Jak powinno wygladac z lini kodu takie powiazanie- jesli ktos mógłby zarzucić kodem. Wiem, ze tabela "Komputera" bedzie 1 do wielu (Tabela specyfikacja). Najwiekszym problemem bylaby jednak kwestia z oprogramowaniem- chcialbym moc przypisac do danego komputera oprogramowanie z wersja np Microsoft office 2003, czy office 97 z poznijesza mozliwoscia zliczenia ile i jakie komputery maja takia i taka wersje.. Oto zalozenie Kod Tabela Komputery: Id komputera Nazwa komputera Tabela Specyfikacja danego komputera Ilosc RAM Procesor adres MAC nazwa uzytkownika ..... ..... Tabela Oprogramowanie z wersja ?Tu nie wiem jak to ma byc z góry dziękuje za pomoc serdecznie pozdrawiam Ten post edytował nighttrain 2.06.2010, 09:19:24 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
Robisz tabele z dostępnym oprogramowaniem, jeżeli jeden komputer może mieć tylko jeden program robisz relacje jeden do wielu, jeśli chcesz wiązać kilka pakietów oprogramowania to robisz relację wiele do wielu, umożliwi Ci ona także trzymanie historii oprogramowania na danym komputerze. Tak samo możesz zrobić z innymi komponentami komputera, będzie to bardziej poprawny zapis. Złączenia tabel wyglądają tak. A co do oprogramowania, to możesz traktować nowe wersje jako nowe oprogramowanie, albo zrobić kolejną tabelkę z wersjami do danego oprogramowania. Pamiątaj także że złączenia działają tylko na InnoDb
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 2.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak średnio to rozumiem, czy mógłbyś pokazać konkretnie w moim przypadku? Byłbym wdzięczny
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
Rel_pc_software
pc_id => rel Pcs pc_id software_id Pcs pc_id ram_id Ram ram_id size Software software_id wersion_id software_name SoftwareVersions sv_id software_id version |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 2.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
może jestem mało kumaty, ale po kolei może najpierw, żebym się nie zamieszał dwie pierwsze tabelki:
komputery i specyfikacja (jeden do wielu w tym przypadku?) Nie wiem, czy dobrze zrobiłem, proszę sprawdz: Kod CREATE TABLE `komputery` (
`id` int NOT NULL auto_increment, `nazwa` varchar(25) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=InnoDB; CREATE TABLE `specyfikacja` ( `id` int NOT NULL auto_increment, `mac_adress` varchar(30), `adres_ip` varchar(30), `nazwa_usera` string, `ilosc_ram` varchar(30), `procesor` varchar(25), PRIMARY KEY (`id`), KEY `_id` (`komputery_id`) ) ENGINE=InnoDB; Ten post edytował nighttrain 2.06.2010, 10:54:04 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
Jak dla mnie te dwie tabelki to relacja jeden do jeden, czyli jeżeli nie masz jakichś innych przesłanek to je złącz razem.
Poza tym userów do osobnej tabelki, i nie nazwa_usera a id_usera skojarzone do tabelki z usersami do pola user_id. Zdefiniuj też relacje => widok tabeli => struktura => widok relacyjny. Klucze obce muszą być indeksami Ten post edytował zend 2.06.2010, 11:08:23 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 2.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
hehe, tzn mam przeslanki bo dojdzie jeszcze tabelka z oprogramowaniem, ale nazwa_usera to w tym przypadku nazwa komputera-sieciowa o tak, moze moglbys mi zarzucic poprawione te moje dwie tabelki? Bylbym bardzo wdzieczny. Wtedy pewnie bym zrozumial.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:11 |