Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Mysql]Pomoc przy tworzeniu bazy
nighttrain
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
zend
post
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
Go to the top of the page
+Quote Post
nighttrain
post
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
Go to the top of the page
+Quote Post
zend
post
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
Go to the top of the page
+Quote Post
nighttrain
post
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
Go to the top of the page
+Quote Post
zend
post
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
Go to the top of the page
+Quote Post
nighttrain
post
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:11