Bazy danych jak się za to zabrać?

0

Hi, chciałbym zapoznać się z SQL i podstawą baz danych. W internecie jest dużo informacji na temat. Problem w tym, ze nigdzie nie znalazłem opisu od początku - co zainstalować, jak uruchomić etc.
Będę wdzięczny za pomoc.

PS. Czy jest jakaś baza zbliżona do Gadfly?

Pozdrawiam!

0

Zazwyczaj potrzebujesz serwera bazy danych, klienta bazy danych oraz jakiś samych danych w bazie.
Możesz np. zainstalować sobie MySQL i przez jakiś czas bawić się konsolowym klientem.

Po zainstalowaniu serwera (z paczki/repozytorium/czegokolwiek) trzeba go oczywiście wstępnie skonfigurować (zwłaszcza hasło użytkownika root), potem możesz użyć konsolowego narzędzia mysql i pobawić jakiś czas w proste tworzenie zapytań.

Przykładowo, po zainstalowaniu serwera MySQL i jego uruchomieniu robisz:

[ktos@ophelia ~]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 5.5.11 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

A potem już zostaje tylko wykonywać polecenia SQL, np.:

mysql> CREATE DATABASE test;
Query OK, 1 row affected (0.08 sec)

mysql> USE test;
Database changed
mysql> CREATE TABLE tabela (id INT, data VARCHAR(50));
Query OK, 0 rows affected (0.11 sec)

mysql> INSERT INTO tabela VALUES (1, 'Hello world!');
Query OK, 1 row affected (0.16 sec)

mysql> SELECT * FROM tabela;
+------+--------------+
| id   | data         |
+------+--------------+
|    1 | Hello world! |
+------+--------------+
1 row in set (0.00 sec)

mysql>

Stwórz sobie bazę danych, która będzie przechowywać coś potrzebnego i następnie na tej bazie możesz wykonywać różne operacje na danych, czyli SELECT z jakimiś warunkami, później złączenia i tak dalej. Zazwyczaj SQL jest bardzo podobny (są wyjątki!) w różnych systemach bazodanowych i nauczenie się dialektu SQL-a nie spowoduje tak wielkich problemów przy przejściu na Oracle czy T-SQL w Microsoft SQL Serverze.

A po jakimś, dłuższym czasie będziesz mógł przejść jeszcze do tworzenia np. wyzwalaczy, widoków (perspektyw), procedur składowanych i innych takich bajerów - tutaj jednak będzie to zależeć od wybranego silnika bazy danych, bo różnic jest zdecydowanie więcej.

0

Hi, dziękuję za wyczerpującą odpowiedz :).

Mam jednak pewien problem:
[code]
[szasza@apn-77-115-200-19 ~]$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[/code]
Masz pomysł jak to rozwiązać?

Pozdrawiam!

0

Ja jeszcze od siebie polecam MySQL Query Browser [link].

0

A ja od siebie polecę bazę danych czyli PostreSQL zamiast MySQL.

0
szasza napisał(a)

Hi, dziękuję za wyczerpującą odpowiedz :).

Mam jednak pewien problem:
[code]
[szasza@apn-77-115-200-19 ~]$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[/code]
Masz pomysł jak to rozwiązać?

Pozdrawiam!

Sprawdź w /etc/my.cnf czy w ogóle MySQL nasłuchuje na gniazdku o takiej ścieżce. Do tego standardowe pytanie - a uruchomiłeś serwer? ;-)
Domyślnie (przynajmniej instalowany z paczek RPM na RHEL/CentOS) MySQL nie tworzy sobie pliku konfiguracyjnego, więc problem może leżeć też tutaj.

0

Hi, zdawało mi się, ze dodałem komentarz do postu o tym, że problem rozwiązałem właśnie uruchamiając serwer :D. Widocznie miałem to zrobić a zapomniałem.
Pracuję na Fedorze i po uruchomieniu serwera wszystko działa jak należy. W każdym razie - jeszcze raz dziękuję za pomoc.

A ja od siebie polecę bazę danych czyli PostreSQL zamiast MySQL

Czy mogę prosić o jakieś uzasadnienie dlaczego warto wybrać PostgreSQL?

1 użytkowników online, w tym zalogowanych: 0, gości: 1