Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bazy danych
Forum PHP.pl > Inne > Hydepark
Dzik
Witam, chce wejsc w nowa dziedzine - bazy danych. Tylko za bardzo sie nie orientuje, a mlody jestem wiec wszystkiego chce sie nauczyc. Na jakich bazach powinienem sie skupic? Co sie teraz liczy?
batman
Jeśli na poważnie chcesz się zająć bazami danych, to MS SQL Server i/lub Oracle. A jeśli tylko chodzi Ci o podszkolenie w samym SQL, to PostgreSQL i/lub MySQL.
kris2
Cytat(batman @ 11.08.2009, 12:25:40 ) *
Jeśli na poważnie chcesz się zająć bazami danych, to MS SQL Server i/lub Oracle. A jeśli tylko chodzi Ci o podszkolenie w samym SQL, to PostgreSQL i/lub MySQL.

Z tym MS SQL to sobie chyba żartujesz prawda?
Nie wiem też po co uczyć się od razu Oracla, skoro jest młody to i tak nie będzie miał styczności z tak zaawansowanymi technologiami komercyjnymi.
Weź się za PostgreSQL to najlepsza baza niekomercyjna zarówno pod względem wydajności, licencji jak i możliwości.
jmail
a czemu ma żartować? SQL Server wbrew pozorom nie jest wcale płatny jeżeli weźmiesz wersję Express Edition.

Oracle też jest wersja edukacyjna. A jak powaznie chce się zająć tym to czemu ma się brać za MyShitQL'a? Postgre zgodzę się. Ale i tak moim zdaniem zacząć od profesjonalnych rozwiązań komercyjnych a później zobaczyć czym się inne różnią.
mike
Cytat(jmail @ 11.08.2009, 16:53:08 ) *
Ale i tak moim zdaniem zacząć od profesjonalnych rozwiązań komercyjnych a później zobaczyć czym się inne różnią.
I dlatego właśnie dobrze zacząć od PostgreSQL'a. Dobre, profesjonalne narzędzie o szerokim zastosowaniu.
Dużo się nauczy a praktyki nabierze dużo szybciej niż zabierając się za Oracle'a czy coś innego.
erix
Cytat
Z tym MS SQL to sobie chyba żartujesz prawda?

Spytam krótko: widziałeś kiedyś MSSQL na oczy, bez "BO TO MS" na oczach?
jmail
brawo erix <brawo>

było nie było SQL Server jest na topie. 95% nowych instalacji SAP'a idzie na SQL Server
Jabol
Cytat(jmail @ 11.08.2009, 16:53:08 ) *
MyShitQL'a?

A co to? Anty-MySQL-wego fanatyzmu jeszcze nie widziałem, ciekawe.

Oracla lepiej nie próbuj bo prawdopodobnie nawet nie dasz rady jej zainstalować (mi się nie udało - inna sprawa, że próbowałem tylko kilka godzin, ale jednak moja wiedza na temat Linuksów jest dość spora). Może wersja na Windowsa łatwiej się instaluje, ale też polecam PostgreSQL. Baza dobra, sprawdona w boju i z dużym zasobem możliwości. Ma również dobrą dokumentacje, więć jest podstawa do nauki.
batman
Cytat(kris2 @ 11.08.2009, 16:44:50 ) *
Z tym MS SQL to sobie chyba żartujesz prawda?
Niby dlaczego mam żartować? Jest to bardzo dobra i szybka baza danych, której tajniki aktualnie zgłębiam. W "dużym biznesie" stawiana jest na równi z Oracle.
Dobre jest to, że jest takie coś jak MS SQL Server Express, czyli darmowa wersja bazy danych, na której można z powodzeniem się uczyć i w mojej opinii jest znacznie bardziej user-friendly niż PostgreSQL. Oczywiście na linuxie jej nie postawisz.

Cytat(Jabol @ 11.08.2009, 17:50:18 ) *
A co to? Anty-MySQL-wego fanatyzmu jeszcze nie widziałem, ciekawe.
MySQL nie jest taki różowy jak go malują. O wiele przyjemniej pracuje mi się na Postresie. Co nie zmienia faktu, że MySQL jest bardzo prostą bazą danych, która idealnie nadaje się na poligon doświadczalny winksmiley.jpg
viking
Jest jeszcze DB2 express - ma najlepszą licencję ze wszystkich (oczywiście porównując do oracle czy mssql). W Polsce jakoś mało popularna. Nawet na helionie nie było żadnych książek.

Mysql to shit i nie jest to nie fanatyzm tylko rzeczywistość. Masa błędów których nikt od lat nie poprawia, jeszcze więcej braków (nawet podstawy jak procedury czy triggery mają mizerną funkcjonalność, nikt nie jest w stanie od lat zrobić ograniczenia check) no i główni developerzy odeszli od projektu. Gdyby nie to że wykupione przez Suna a ten z kolei przez Oracle szanse na jakikolwiek rozwój byłyby żadne.
nieraczek
Jedną bazę pomijacie, w Polsce moze nie jest az tak popularna, ale na swiecie juz niekoniecznie. Chodzi o Sybase smile.gif
batman
Cytat(nieraczek @ 12.08.2009, 08:12:04 ) *
Jedną bazę pomijacie, w Polsce moze nie jest az tak popularna, ale na swiecie juz niekoniecznie. Chodzi o Sybase smile.gif
Na Sybase pisałem magisterkę i jedyna rzecz jaka mi w głowie utkwiła to mierna wydajność oraz problemy z kodowaniem podczas przenoszenia bazy z systemu polskiego na angielski. Możliwe, że od tamtego czasu coś się zmieniło. Nie wiem, nie sprawdzałem.
jmail
Jabol - MyShitQL z tego, ze jest to rozwiązanie prawie tak dobre jak Excell biggrin.gif W excell'u przynajmniej wszystko mogę sobie VBA oprogramować. Nie wiem bo dawno nie patrzyłem na zmiany w MySQL ale wydaje mi się, że nadal nie ma UDF'ów i innych ciekawostek.

Co do Postgre to jego największą (jak dla mnie) bolączką jest całkowity brak crona / scheduled tasków jakie oferują zarówno Oracle czy SQL Server. Z resztą z MS zawsze się dobrze dogadywałem, a narzędzie do tworzenia SSIS Packages jest dopracowane do najmniejszych (również moim zdaniem) szczegółów.

A jak już taką wyliczankę dobie robimy to nie zapominajmy o InterBase / FireBird - również prosta baza danych, jednak dużo więcej dostajesz niż w MySQL'u

Do tego badziewia o którym na początku, trzeba jeszcze dodać całkowity brak trzymania standardów SQL (wiem wiem MS w ogóle też ich nie trzyma, ale za to daje potężne narzędzie w postaci T-SQL i integracji z .NET). Ustawienie kolumny typu TimeStamp na null owocuje wpisem w postaci '0000-00-00 00:00:00' czego inne bazy w ogóle nie chcą przyjmować. Dodawanie jakichś "dziwnych" ptaszków jak ` w nazwach kolumn, albo nie ostatnie ale jak dla mnie najlepsze - pisanie zapytań w sposób

  1. SELECT
  2. *
  3. FROM
  4. baza.tabela


Gdzie każda inna baza oferuje:

  1. SELECT
  2. *
  3. FROM
  4. baza.katalog_user.tabela


Takie różnice powodują, ze migracja na jakiekolwiek inne roziwązanie z MySQL okazuje się mordęgą. Za to do MySQL'a każdą bazę można wrzucić - utworzyli do tego narzędzia - ale im było łatwiej, bo jak ktoś inny trzyma standardy to oni łatwo mogli z nich skorzystać.
erix
Cytat
A jak już taką wyliczankę dobie robimy to nie zapominajmy o InterBase / FireBird

Jeśli chodzi o wydajność FireBirda, to z moich doświadczeń (wprawdzie tylko na localhoście winksmiley.jpg) wypadał jakieś pół roku temu raczej mizernie... (w trybie embedded)

Cytat
Dodawanie jakichś "dziwnych" ptaszków jak ` w nazwach kolumn, albo nie ostatnie ale jak dla mnie najlepsze - pisanie zapytań w sposób

Z tego, co wyczytałem/pamiętam, to zgodnie ze standardami, MySQL akceptuje również zwykłe cudzysłowy na nazwy kolumn.
jmail
erix ja nie neguję, że akceptuje. Ale teraz zaszyj coś takiego w zapytaniu w kodzie PHP i spróbuj później migrować na inny serwer DB - zajechać się można. A niestety duża część ludzi używa tych dziwnych ptaszków. Dlaczego? bo jak robisz backup bazy danych w MySQL'u zawsze Ci je dodaje, więc większość mysli, że tak powinno być sad.gif

Co do FireBirda, jak ja robiłem testy (co prawda to ze trzy lata temu było) dotrzymywał kroku wydajności Postgre
erix
Cytat
A niestety duża część ludzi używa tych dziwnych ptaszków. Dlaczego? bo jak robisz backup bazy danych w MySQL'u zawsze Ci je dodaje, więc większość mysli, że tak powinno być

Nie o to chodzi - znak odwrotnego akcentu (ZTCW), a nie dziwny ptaszek - to było do ujmowania pól w MySQL zanim wprowadzono zgodność pod tym względem z ANSI SQL.

Jeśli chodzi o migrowanie na inny serwer - choćbyś się miał @(*#$58, to będziesz musiał konwertować, bo ten sam dump jest zgodny z tylko jednym DBMS. Chciałem pisać kiedyś uniwersalny sterownik do DB, a bardzo się rozczarowałem. Mówisz, że dziwny ptaszek w MySQL, to zobacz jak są oddzielane pola w MS SQL. tongue.gif
jmail
jak? w nawiasach kwadratowych o to Ci chodzi?
mike
To może porozmawiajmy jak się ma UTF w MSSQL?
Description of storing UTF-8 data in SQL Server

Dziękuję. Raz pracowałem na tej bazie i więcej gówna tykał nie będę.
jmail
a moze wartałoby zauważyć, że dajesz link do SQL Servera sprzed dobrych 10 lat?questionmark.gif

wtedy MySQL na chleb mówił beb a na muchy ptapty

A Postgres do dzisiaj ma problemy ze zmianą kodowania serwera jeżeli domyślne jest kodowanie Windows-1250 (na systemie Windows) to nie ustawisz za cholerę UTF-8
batman
Cytat
To może porozmawiajmy jak się ma UTF w MSSQL?
1. Dopiero w najnowszej wersji PostreSQL dodano możliwość ustawienia kodowania pojedynczej bazy, a nie całej instalacji, więc w innych systemach też nie wygląda to różowo.
2. MS SQL Server jest najczęściej wykorzystywany jako element całego systemu, w skład którego zazwyczaj wchodzi aplikacja napisana w .NET. W takim przypadku odpada problem kodowania.
jmail
batman zaskoczę Cię winksmiley.jpg

najczęściej SQL Server wykorzystuję do ColdFusion biggrin.gif i tam jest już cała zabawa z kodowaniem ^^. Kiedyś pisało się funkcję mapujacą znaki i działało. Ale SQL Server w obecnej postaci ma naprawdę potworną jak chodzi o kodowania
batman
Cytat(jmail @ 12.08.2009, 13:58:33 ) *
batman zaskoczę Cię winksmiley.jpg
Fakt. Zaskoczyłeś mnie smile.gif A czy CF przypadkiem nie miał odejść do lamusa? Ostatnio Adobe ciśnie mocno na Flexa.
jmail
lol?

do lamusa?

ColdFusion ma pełną integrację z Flexem (sam potrafi kompilować aplikacje flexowe) i jest ZALECANY jako backend dla Flexa smile.gif

Poza tym wiesz wszystkie bajerki <cfdocument type="pdf lub flashpaper"> wbudowane wykresy flashowe, formularze flashowe, cfc, CustomTagi i wiele wiele wiele więcej. Pełna integracja z Ajax'em. Nie musisz znac a stosujesz. eh rozmarzyłem się biggrin.gif

generalnie Adobe bardzo mocno nacisnęło na integrację cf z flexem i się opłaciło smile.gif

I nie zapominajmy, ze to najstarsza najbardziej dojrzała technologia serwer side i co równie ważne pod spodem jest Java - można więc integrować z dowolnym J2EE i ma integrację z .NET smile.gif szybko łatwo i przyjemnie tongue.gif
erix
Cytat
w nawiasach kwadratowych o to Ci chodzi?

Yup.

Cytat
Dziękuję. Raz pracowałem na tej bazie i więcej gówna tykał nie będę.

Powiem tak - bluźnisz. Nie patrz przez pryzmat BO TO MS, tylko wg tego, co ten DBMS potrafi.
kris2
Cytat(erix @ 11.08.2009, 17:22:48 ) *
Spytam krótko: widziałeś kiedyś MSSQL na oczy, bez "BO TO MS" na oczach?


tak widziałem, pracowałem i nie uważam by warto było po niego sięgać. Jeżeli już bawić sie komercyjnie i wydawać pieniądze to tylko na Oracla.


Cytat(jmail @ 12.08.2009, 12:36:58 ) *
Co do FireBirda, jak ja robiłem testy (co prawda to ze trzy lata temu było) dotrzymywał kroku wydajności Postgre


FireBird miał jedynie prawo istnienia w czasach kiedy MySQL w wersji 4 zmienił licencje komercyjna a Postgresa na Windowsie jeszcze nie było. Jego wydajność jest o wiele mniejsza niż postgresa 8.3, do tego nie jest tak zgodny z SQL 99 jak postgres. Oczywiscie wiele osób wyznaje go fanatycznie bo jak się wtopiło w jakąś technologie to ciężko się z niej wycofać.


Cytat(batman @ 12.08.2009, 13:55:13 ) *
1. Dopiero w najnowszej wersji PostreSQL dodano możliwość ustawienia kodowania pojedynczej bazy, a nie całej instalacji, więc w innych systemach też nie wygląda to różowo.
2. MS SQL Server jest najczęściej wykorzystywany jako element całego systemu, w skład którego zazwyczaj wchodzi aplikacja napisana w .NET. W takim przypadku odpada problem kodowania.


po 1 to nie prawda co piszesz o Postgresie. w każdej wersji 8.x można zmieniać dowolnie kodowanie każdej bazy, nie wiem jak w 7.x ale w jego przypadku używanie słowa "dopiero w najnoweszej wersji" jest semantycznym nadużyciem bo nie jest on już najnowszą wersją od 3-5 lat?
po 2 nic dziwnego że MS SQL jest najczęściej używaną aplikacją w .NET bo .NET to Microsoft i MS SQL to też Microsoft. więc raczej nie wspierali by innych rozwiązań. A w php MySQL to najczęściej wykorzystywany element całego systemu i co z tego? czy to oznacza że jest najlepszy?

W moim poscie najzwyczajniej w świecie chciałem zwrócić uwagę na to, że osoba rozpoczynająca prace z bazami powinna wybrać system open source o najwyższym standardzie. Co z tego żę Oracle czy MS SQL i nawet cały .NET ma darmowe środowiska do nauki. Jak znajdziesz klienta na sklep internetowy to powiesz mu że ma wydać 12000zł na jednoprocesoową licencje Oracla i 10000zł na komercyjne narzędzia .NET bo mu inaczej nie będziesz w stanie wykonać zlecenia?
erix
Cytat
po 2 nic dziwnego że MS SQL jest najczęściej używaną aplikacją w .NET bo .NET to Microsoft i MS SQL to też Microsoft. więc raczej nie wspierali by innych rozwiązań.

A jaki problem korzystać z ODBC? Wtedy z praktycznie każdej bazy wykonasz zapytania...


Cytat
W moim poscie najzwyczajniej w świecie chciałem zwrócić uwagę na to, że osoba rozpoczynająca prace z bazami powinna wybrać system open source o najwyższym standardzie. Co z tego żę Oracle czy MS SQL i nawet cały .NET ma darmowe środowiska do nauki. Jak znajdziesz klienta na sklep internetowy to powiesz mu że ma wydać 12000zł na jednoprocesoową licencje Oracla i 10000zł na komercyjne narzędzia .NET bo mu inaczej nie będziesz w stanie wykonać zlecenia?

Mówił ktoś, że wyłącznie jednej? I komercyjne trzeba znać, do tego na studiach zawsze są podstawy z obu.
jmail
Cytat(kris2 @ 14.08.2009, 16:48:22 ) *
po 2 nic dziwnego że MS SQL jest najczęściej używaną aplikacją w .NET bo .NET to Microsoft i MS SQL to też Microsoft. więc raczej nie wspierali by innych rozwiązań. A w php MySQL to najczęściej wykorzystywany element całego systemu i co z tego? czy to oznacza że jest najlepszy?


95% nowych instalacji SAP'a idzie na SQL Server - dla mnie to już jest wyznacznik. A jak nie wiesz co to jest SAP to najpierw obejrzyj sobie ten system a później możemy dyskutować. .NET jest integrowany z SAP'em więc również to jest przyszłość. Uwolnienie narzędzi przez MS plus wypuszczenie Silverlight sprawia, że praktycznie tylko Java w połączeniu z Appletami i ColdFusion w połączeniu z Flexem mogą mu dorównać. IIS obsługuje praktycznie wszystkie technoloogie serwer side i do niego są instalki. Natomiast dowolny serwer na Linuxie nie.... Nie zasłaniaj się przypadkiem Mono bo ten projekt nie działa. >NET ma otwartą infrastrukturę i ostatnio gdzieś nawet znalazłem wtyczkę do pisania PHP.NET - kod w php kompilowany do rozwiązania MS. Microsoft zrobił przeogromny skok technologiczny i z zamkniętej na ludzi firmy stał się, lub staje się liderem koderskiego świata. Możemy sobie zaprzeczać do woli, ale największą kapuchę zgarniają obecnie koderzy .NET a koderzy Javy zaczynają się na niego przesiadać. .NET jest lżejszy i nie dźwiga największej bolączki Javy czyli kompatybilności wstecznej.

Co do php i mySQL - zdziwiłbyś się jak często nie jest wykorzystywany MySQL. Robię średnio 4 - 5 projektów w miesiącu na PHP (niemałych) i niezmiernie sporadycznie klienci upierają się przy mySQL. Najczęściej idzie PG, albo SQL Server. Podejrzewam, że nie jestem w tym wypadku wyjątkiem.

Cytat(kris2 @ 14.08.2009, 16:48:22 ) *
W moim poscie najzwyczajniej w świecie chciałem zwrócić uwagę na to, że osoba rozpoczynająca prace z bazami powinna wybrać system open source o najwyższym standardzie. Co z tego żę Oracle czy MS SQL i nawet cały .NET ma darmowe środowiska do nauki. Jak znajdziesz klienta na sklep internetowy to powiesz mu że ma wydać 12000zł na jednoprocesoową licencje Oracla i 10000zł na komercyjne narzędzia .NET bo mu inaczej nie będziesz w stanie wykonać zlecenia?


Bajki przyjacielu opowiadasz. Narzędzia są free - Visual Studio Express Edition jest do użytku komercyjnego. A jka ktoś będzie chciał tylko sklep to bez problemów mu znajdę hosting za przyzwoite pieniądze z SQL Serverem - z resztą jak będzie miał własny serwer to mu postawię Express edition również przeznaczoną do użytku komercyjnego za free. BTW Managment Studio Express edition również jest za free for commercial use

Druga sprawa co do Postgre - Twoje nadużycie semantyczne nijak się ma do rzeczywistości. Niestety więcej hostingów powstaje z SQL Server Express Edition niż z Postgre (nad czym ubolewam) a te co mają postgre bardzo niechętnie upgrade robią na wyższe wersje. Nadal standardem jest wbicie tylko jednego kodowania na serwer w przypadku Postgre.

Chcesz dyskutować? Zaopatrz się w dobre argumenty. Tylko błagam nie na zasadzie bo MS jest niedobry bo zdziera pieniadze. Nie będę rozmawial o wyższości świąt wielkiej nocy nad bożym narodzeniem. Jak nie próbowałeś nowych wersji SQL Server to niepowinieneś w ogóle na ten temat rozmawiać
nasty
Cytat(jmail @ 14.08.2009, 17:16:59 ) *
(...) Robię średnio 4 - 5 projektów w miesiącu na PHP (niemałych)
Może się czepiam, ale to zdanie jest nielogiczne. Niemałe projekty w 5-7 dni? biggrin.gif
jmail
Jako firma? biggrin.gif Może tego nie dodałem winksmiley.jpg

Głównie intranety i teraz mamy już włąsny framework na to, ale i tak zawsze jest kupa dokodzenia własnego
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.