![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam juz całą bazę, odwołuję się do niej zapytaniami sqlowymi i jakoś to wszystko działa.
Pracowałem też z oraclem, foxpro, accessem, sqlserverem i wszędzie można było zakładać relacje, tworzyć klucze obce i np. uzywać tego do automatycznego wyświetlania odpowiednich danych w formatkach. A jak to jest w MySQL? Da się tu zakładać relacje? Posiadam Krasnala 2.7 SKŁAD SERWERA: - Apache 1.3.31 - php 4.3.9 + SQLite - php 5.0.2 - MySQL 3.23.58 - ActivePerl 5.6.1.628 - phpMyAdmin 2.6.2 pl2 - Zend Optimizer 2.0.3 - CesarFTP 0.99g - WebAlizer 2.1 - Free SMTP Server - SQLiteManager 1.0.1 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
No wsumie w MySQLu da sie zrobic relacje, tabele musza byc zalozone jako INNO DB.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 19.09.2004 Skąd: Uć Ostrzeżenie: (0%) ![]() ![]() |
dokladnie z innodb mozna, a z tabelami innodb to roznie jest, niektorzy administratorzy ich nie lubia i wtedy caly pomysl sie sypie bo wtedy masz relacje na slowo honoru (tylko jezeli sam o nie zdbasz)
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Nie lubia, bo domyslnie jest to wylaczone.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
a jak projektujecie, z relacjami czy bez? bo w sumie mam całą aplikację zaliczeniową sklepu internetowego i totalnie brak czasu na przerabianie tego, działa wszystko bez użycia relacji i kluczy obcych, ale na schemacie bd trzeba będzie te klucze obce niby pokazać, wynika to z samej istoty projektu - żeby ludzie co będa mi sprawdzac, się w tym połapali.
Co proponujecie? Przerabiać to na model z relacjami, czy zaostawić jak jest? I czy stosowanie relacji jest powszechne w mysqlu - i dlaczego tak/nie Ten post edytował herbatniczek 18.04.2005, 14:58:35 |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi sie ze w MySQLu malo osob stosuje, dlaczego??
- jak to dziala, szkoda sie bawic w takie cos, itd.......... Tak naprawde to trzeba poznac co to naprawde jest i do czego jest nam potrzebne. Np chcesz usunac jakis rekord, a tu blad nie mozna bo naruszach wiezy integralsnosci. Jak by tego nie bylo to bys nawet nie wiedzial ze cos poszlo nie tak. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 27.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
racja - mało kto korzysta z tych możliwości;
podstawową przyczyną jest fakt, że o wiele trudniej zaprojektować poprawnie bazę z więzami integralności niż bez nich; wśród moich znajomych pracujących na MySQL-u panuje opinia, że i tak wszystko załatwiają przez php i mało kto przykłada większą wagę do struktury bazy; w pewnym sensie korzystanie z FOREIGN KEY jest podwójnym zabezpieczaniem - zakładając zadbanie o integralność bazy na poziomie skryptu; osobiście korzystam z zalet klucza obcego; dlaczego - po pierwsze tak mnie nauczono, a poza tym mam pewność, że każdy rekord w bazie zawiera 'poprawne' dane - jeżeli zawiedzie skrypt php to i tak nie ma możliwości na wstawienie błędnych danych; a przede wszystkim MySQL to RDBMS więc korzystajmy z zalet jakie nam oferuje; moim zdaniem jeżeli nie będzie konieczna jakaś poważna ingerencja w strukturę Twojej bazy to pozmieniaj typ tabel i dorzuć klucze obce; potrafisz, więc nie ma co główkować |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:48 |