Jaki jest najłatwiejszy sposób na rozpoczęcie korzystania z baz danych zawierających prawdziwe dane?


9

Mam projekt, który mógłby skorzystać z bazy danych, ale nie mam doświadczenia z bazami danych, nie mam dostępu do serwera i mam stosunkowo niewielkie doświadczenie w pracy z rzeczami żyjącymi po stronie serwera.

Jeśli będę musiał zmierzyć się z krzywą uczenia się, wolałbym nauczyć się czegoś o szerokim zastosowaniu (np. SQL), ale zadowoliłbym się nauczeniem czegoś takiego jak Access, jeśli jest wystarczająco wydajny do zadania, które obecnie próbuję sprzęt. Oczywiście wolałbym również nie upuszczać 150 USD na Access, jeśli można temu zaradzić, ponieważ po prostu majstruję.

Pobrałem LibreOffice Base, a także coś o nazwie SQLiteBrowser, ale chciałem najpierw sprawdzić, zanim zainwestuję czas w naukę tych konkretnych aplikacji i ich smaków SQL, czy te narzędzia będą wystarczające do tego, co chcę zrobić.

Chcę móc:

  • importuj dane z CSV lub z Excela
  • uruchamiaj zapytania, które są równoznaczne z „wybierz x tam, gdzie to jest, a to zawiera to i którekolwiek z nich zawiera to”
  • Napisz (?) nowe pole, które wskazuje wyniki pasujące do danego zapytania

Znowu jestem gotów się uczyć, ale byłoby miło, gdyby nie musiałem uczyć się kilku pośrednich rzeczy na temat IT, zanim będę mógł skupić się na uczeniu baz danych i, jeśli to konieczne, na szczegółach danej aplikacji.


Czy powinienem pozwolić modom to zrobić, czy powinienem usunąć i ponownie opublikować na dba?
Charles W

Chcesz po prostu zbudować bazę danych i skorzystać z niektórych zapytań lub użyć jej do opracowania aplikacji, takich jak aplikacja na Androida lub aplikacja komputerowa / internetowa.
vaichidrewar

Chcę zbudować bazę danych do uruchamiania zapytań. Narzędziem, z którego korzystają moi koledzy, jest MS Excel, ale myślę, że istnieje o wiele bardziej wyrafinowana analiza, którą moglibyśmy zrobić z lepszym narzędziem.
Charles W

Odpowiedzi:


5

Najpierw będziesz musiał użyć języka zapytań. Wszystkie smaki SQL używają prawie tej samej składni zapytań SQL. Najpierw musisz nauczyć się języka zapytań SQL. Na przykład możesz zacząć od samouczka na stronie www.w3schools.com/sql/default.asp

Uniwersytet Stanford zaoferował publiczny kurs dotyczący baz danych jesienią ubiegłego roku. Mieli fajny samouczek na temat konfiguracji SQLite .

Gdy zaczniesz uczyć się SQL, potrzebujesz narzędzia, za pomocą którego możesz zbudować bazę danych i uruchomić zapytania. SQLite to biblioteka wolnego oprogramowania, której można używać do tworzenia baz danych i uruchamiania zapytań. Może być używany jako niezależne narzędzie, tzn. Do korzystania z niego nie jest wymagana konfiguracja serwera. Obsługuje również importowanie plików csv .

Po zaznajomieniu się z SQL możesz używać MySQL, jeśli chcesz zaprojektować aplikację internetową lub uzyskać dostęp do aplikacji komputerowych. Nie sądzę, aby Microsoft Access był w ogóle niezbędny (ponieważ nie jest bezpłatny), jeśli chcesz po prostu zacząć.


SQLite sam w sobie jest tylko wierszem poleceń, prawda? To niekoniecznie problem, szukam tylko wyjaśnienia. Wspomniałem o programie DatabaseBrowser - zawiera SQLite, które jest już wypalone, ale dodaje również aplikację GUI. Czy znasz ten program? Czy istnieje nazwa tego rodzaju oprogramowania pośredniego interfejsu w świecie DB?
Charles W

7

Charles,

Wspomniałeś o MS Excel w swoim komentarzu, więc można bezpiecznie założyć, że jesteś w środowisku Microsoft. Na pewno masz dużą moc, jeśli wiesz, jak zadzierać z systemem zarządzania bazą danych.

Jeśli przeprowadzasz poważną analizę danych, powiedziałbym, że idź do korporacyjnych baz danych, takich jak Oracle, SQL Server, MySQL, DB2 itp., Które są relacyjnymi bazami danych. Warto zauważyć, że istnieją również nierelacyjne bazy danych, które zyskują popularność na rynku baz danych.

Ponieważ prawdopodobnie pracujesz w środowisku Microsoft, sugeruję skorzystanie z SQL Server. Możesz zapytać dział IT, czy masz już bazę danych dla przedsiębiorstw. Jeśli nie, możesz pobrać „ekspresową” wersję programu SQL Server (patrz link w innym komentarzu). Gdy tam jesteś, przeczytaj o ograniczeniach wersji ekspresowej. Wersja ekspresowa jest BEZPŁATNA.

Wersja ekspresowa to w pełni funkcjonalna, gotowa do produkcji wersja programu SQL Server, choć pod pewnymi względami jest ograniczona (pojemność pamięci, użycie pamięci itp.). Możesz nawet uruchomić Reporting Services z wersji ekspresowej. Wyszukaj „ SQL Server Express z zaawansowanymi usługami (zawiera silnik bazy danych, narzędzia ekspresowe, usługi raportowania i wyszukiwanie pełnotekstowe ” -> pobierz tutaj: http://www.microsoft.com/sqlserver/en/us/editions/ 2012-editions / express.aspx

Jeśli uważasz, że w Twojej firmie istnieje potrzeba bazy danych obejmującej całe przedsiębiorstwo (zakładając, że Twoja firma jeszcze jej nie ma), kup wersję programistyczną. Wersja dla programistów zawiera wszystko, co ma wersja SQL Server w wersji Enterprise. Jeśli testujesz, co SQL Server może zrobić w środowisku korporacyjnym, jest to wersja, którą chcesz zdobyć.

Pamiętaj, że nie możesz używać wersji programistycznej do produkcji. Jest przeznaczony wyłącznie do testowania. Dobrą rzeczą jest to, że gdy baza danych Twojej firmy jest gotowa na najwyższy czas - produkcję - możesz łatwo „przełączyć” wersję programistyczną na licencjonowaną instancję SQL Server.

Gdy zaczniesz uczyć się SQL Server, dobrze jest zacząć uczyć się TSQL, który jest implementacją języka SQL przez SQL Server.

Wspomniałeś, że chcesz nauczyć się uruchamiać niektóre zapytania, więc sugeruję zacząć od:

  • Język manipulacji danymi (DML) - WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ, POŁĄCZ
  • Język definicji danych (DDL) - TWORZENIE, ZMIANA, DROP obiektów bazy danych (tabele, widoki, ograniczenia, indeks, procedura przechowywana itp.)

Książki online programu SQL Server 2012 są również doskonałym punktem wyjścia do nauki SQL Server: http://msdn.microsoft.com/en-us/library/ms130214.aspx

Społeczność SQL Server jest również doskonałym zasobem. Śledź mnie na Twitterze @MarlonRibunal. Kilka wskazówek, gdzie znaleźć niezbędne umiejętności SQL Server:

  1. Książki
  2. Blogi
  3. Grupy użytkowników - istnieje stowarzyszenie Professional dla SQL Server (PASS) . Dobre źródło informacji o SQL Server - wydarzeniach, ludziach itp. Przeglądaj witrynę, aby dowiedzieć się, o co chodzi w organizacji.

  4. Wydarzenia

    • SQL Server Grupa użytkowników Spotkania / spotkania - Sprawdź, czy w pobliżu jest rozdział PASS - http://www.sqlpass.org/PASSChapters.aspx
    • Sobotnia impreza SQL - bezpłatna, jednodniowa konferencja / szkolenie dotyczące jakości SQL Server (administracja bazą danych, programowanie, inteligencja biznesowa itp.)
  5. #sqlhelp hashtag na Twitterze - twoja linia pomocy na Twitterze. Sugeruję, abyś zaczął śledzić osoby, które używały znacznika #sqlhelp - albo prosili o pomoc związaną z SQL Server, albo odpowiadali na pytania.

  6. SQL University - zbiór blogów tematycznych

  7. Spotkanie grupy analitycznej SQL Server - zbierz członków i ucz się do egzaminów certyfikacyjnych SQL Server lub po prostu w celu poszerzenia wiedzy o SQL Server


Doceniam szczegółową odpowiedź, Marlon. Tak się składa, że ​​nie jestem w typowym środowisku informatycznym. Jestem niezależnym wykonawcą, a moi współpracownicy pracują w małej firmie. Korzystamy z programu Excel z tego samego powodu, z którego korzystamy z programu Word - są to wszechobecne aplikacje zwiększające produktywność. Wszystko to znaczy, że nie ma osoby, do której mógłbym się odwołać. Cokolwiek zrobię, będzie musiało być czymś, co sam rzucam, dlatego wspomniałem o moim braku umiejętności po stronie serwera.
Charles W

1
Jesteś na dobrej drodze. Jako niezależny wykonawca musisz gromadzić umiejętności, aby móc oferować więcej usług. Proponuję wziąć osobisty projekt: migruj dane Excela do SQL Server 2012 Express. Zainstaluj Reporting Services i utwórz raporty. Jestem pewien, że istnieje potrzeba jakiegoś rodzaju raportów. Na moim starym blogu napisałem instrukcje krok po kroku na temat usług Reporting Services. To jest dla SQL Server 2005, ale możesz zastosować te kroki w wersjach 2008 lub nawet 2012: dbalink.wordpress.com/2009/01/17/...
MarlonRibunal

Jeszcze raz dziękuję, Marlon. W ciągu następnego dnia poświęcę trochę czasu na zapoznanie się z odpowiedzią i porównanie jej z niektórymi sugestiami innych. Teraz, gdy wiesz, że nie jestem w środowisku MS, czy nadal polecasz opcję MS?
Charles W

1
Jeśli mówię, że wybierasz SQL Servera, to w dużej mierze moje nastawienie do SQL Servera :-) Spróbuj jednak. Lub wypróbuj wiele platform i sprawdź, która z nich najbardziej Ci się podoba. Lub jeszcze lepiej, spójrz na profil swoich klientów - z jakiej platformy korzystają? Jeśli 95% z nich jest na stosie Microsoft, dam SQL Serverowi możliwość wypróbowania więcej niż innej platformy. Dostajesz obraz. :-)
MarlonRibunal

4

Jeśli chcesz nauczyć się dostępu, skorzystaj z niego, ale jeśli docelowym miejscem docelowym będzie baza danych Enterprise, nie pomoże ci to tak szybko, jak w przypadku innych opcji ze względu na rozbudowane GUI ukrywające SQL.

Znam tytuł twojego pytania, w tym słowo „najłatwiej”, ale usłysz mnie na temat trasy Wyroczni. Oracle Express Edition (Oracle XE) jest nie tylko bezpłatny i dostępny w systemie Windows, ale 99% wiedzy zdobytej w Express Edition można zastosować w licencjonowanych wersjach Oracle, w tym Oracle Enterprise Edition. Ponadto istnieje kilka funkcji, dzięki którym Oracle jest dobrym wyborem dla małych projektów .

Instalacja Oracle XE jest łatwa, a używanie SQL na Oracle nie jest trudniejsze niż używanie SQL na większości innych platform. Trudniejsze części Oracle pochodzą z większymi systemami, które wymagają administracji. Te rzeczy, które sprawiają, że jest administratorem bazy danych trudno przeważnie nie mają zastosowania do osób w danej sytuacji.

Oracle XE nie wymaga serwera (stacja robocza najprawdopodobniej będzie działać dobrze).


Dziękuję za zwrócenie uwagi na szczegóły mojego pytania i odpowiednie dostosowanie odpowiedzi. Zajmę następnego dnia lub dwa, aby przejrzeć niektóre z tych różnych opcji (MS vs SQLite vs Ocacle). Doceniam to!
Charles W

1

Jeśli chcesz pójść ścieżką Microsoft, możesz zacząć korzystać z MS SQL Server Express, który jest darmową wersją. Istnieją oczywiście pewne ograniczenia w porównaniu z edycją Standard i nowszymi - więcej o SQL Express można przeczytać tutaj: http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

Możesz pobrać SQL 2012 Express i narzędzia klienta Management Studio tutaj: http://www.microsoft.com/en-us/download/details.aspx?id=29062

Jeśli interesują Cię różnice między edycjami na rok 2012, znajdziesz tabelę tutaj: http://msdn.microsoft.com/en-us/library/cc645993%28v=SQL.110%29.aspx

Ta strona zawiera łącza do przykładowej bazy danych „Adventure Works”, której można użyć do majstrowania przy: http://msdn.microsoft.com/en-us/library/hh231699.aspx

Jeśli chcesz użyć danych z csv lub xlsx, możesz przeczytać o importowaniu danych z CSV, xlsx itp. Do MSSQL. Jest w tym wiele zasobów, więc nie będę ich tutaj linkować, ale wystarczy wyszukiwarka google.


Czy błędnie rozumiem, że MS SQL Server Express musi być skonfigurowany na serwerze?
Charles W

1
Tak. Mylisz się. Możesz zainstalować SQL Server Express na komputerze stacjonarnym lub laptopie. Istnieją pewne ograniczenia systemu operacyjnego dla każdej wersji SQL Exress, ale jeśli używasz Windows Vista lub Windows 7 na swoim komputerze, nie powinieneś mieć żadnych problemów.
George Mastros

0

Możliwe jest rozwiązanie problemów za pomocą zaawansowanych funkcji programu Excel. Czy przejrzałeś funkcję Autofiltr Excela? Pozwoli ci zawęzić wyniki i odpowiedzieć na pytanie pokaż x gdzie to jest to, a to zawiera to ... Aby dostać się do „któregokolwiek z nich zawiera to” sugerowałbym dodatkową kolumnę z formułą wykorzystującą if () i find (), które można następnie filtrować.

Często korzystam zarówno z Access, jak i Excela, i nie jestem pewien, czy złożoność twojego pytania wystarczyłaby, aby uzyskać dostęp do arkusza kalkulacyjnego, szczególnie jeśli „dane źródłowe” muszą pozostać w Excelu do raportowania i / lub używania przez ludzie bez dostępu.

Oczywiście twoje pytania mogą być znacznie bardziej złożone niż sugeruje to twój przykład, a wtedy baza danych może być właściwą drogą.


0

DOWIEDZ SIĘ SQL:

Zdecydowanie poleciłbym nie iść drogą Microsoft i zdecydować się na naukę SQL. Możesz łatwo skonfigurować środowisko programistyczne na istniejącym sprzęcie (niezależnie od tego, czy korzystasz z systemu Windows, Mac, czy Linux). Po skonfigurowaniu środowiska programistycznego możesz zapoznać się z kilkoma dobrze przygotowanymi bezpłatnymi zasobami online, aby nauczyć Cię podstaw SQL.


KROK 1: Konfigurowanie środowiska programistycznego

Windows: Jeśli używasz komputera z systemem Windows, zalecamy korzystanie z WampServer, który można pobrać ze strony wampserver.com. Wamp oznacza Windows + Apache + MySQL + PHP. Zaletą tego pakietu jest to, że stworzy on samodzielne środowisko ze wszystkimi częściami potrzebnymi do przetestowania rozwoju - lub, w naszym przypadku, nauczysz się MySQL w praktyczny sposób. Zawiera również phpMyadmin, stanowiącą graficzną alternatywę dla interakcji z twoimi bazami danych.

UWAGA: Upewnij się, że wszystkie odpowiednie pakiety redystrybucyjne Microsoft Visual C ++ są zainstalowane w twoim systemie. Możesz je znaleźć na stronie WAMP lub zobaczyć te zalecenia podczas instalacji WAMP - wraz ze wszystkimi niezbędnymi linkami do pobierania brakujących pakietów. Pamiętaj, aby zainstalować je najpierw przed zakończeniem instalacji WAMP.

Linux: Jeśli używasz Linuksa, polecam zainstalowanie LAMP. Instrukcje instalacji LAMP w Ubuntu można znaleźć tutaj: http://howtoubuntu.org/how-to-install-lamp-on-ubuntu . Alternatywnie, jeśli używasz Ubuntu Server, możesz łatwo zainstalować LAMP za pośrednictwem Tasksel. Możesz to zrobić w następujący sposób:

sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server

Mac Jeśli używasz komputera Mac, możesz skorzystać z wielu alternatyw. Polecam wzmacniacze, które można pobrać ze strony http://www.ampps.com/download


KROK 2: Pracując z SQL w nowym środowisku

zamierzam kontynuować ten samouczek, zakładając, że korzystałeś z rozwiązania WampServer (w oparciu o twoje omówienie rozwiązań Microsoft).

Po zainstalowaniu WampServer uruchom go i poczekaj, aż serwer pojawi się w zielonym kolorze na pasku zadań. Oznacza to, że jest aktywny i działa poprawnie.

W pełni funkcjonalny WampServer

OPCJONALNIE: Teraz możesz wyszukiwać w przykładowych bazach danych lub ładować własne pliki csv. Niektóre spoty w Internecie z przyzwoitymi przykładowymi bazami danych w formacie csv są następujące: https://support.spatialkey.com/spatialkey-sample-csv-data/
https://catalog.data.gov/dataset?res_format=CSV
http : //www.sample-videos.com/download-sample-csv.php

Dla uproszczenia możesz załadować te pliki CSV przez phpMyAdmin. Wystarczy kliknąć lewym przyciskiem myszy ikonę WampServer na pasku zadań, a następnie kliknąć „phpMyAdmin”:

Uruchom instalację phpMyAdmin w WampServer

Następnie zaloguj się do phpMyAdmin przy użyciu domyślnej nazwy użytkownika i hasła, którym jest „root” (bez cudzysłowów) i puste hasło.

Zaloguj się do phpMyAdmin

I wreszcie: załaduj plik CSV za pomocą karty „Importuj”:

Importowanie pliku CSV do phpMyAdmin


KROK 3: Ćwiczenie SQL

Teraz możesz zacząć ćwiczyć. Otwórz terminal i przejdź do katalogu instalacyjnego MySQL w WampServer. Dla mnie jest to „C: \ wamp64 \ bin \ mysql \ mysql5.7.19 \ bin”, ale będzie się to różnić w zależności od tego, czy zainstalowałeś WampServer 32-bitowy czy WampServer 64-bitowy. Będzie to również zależeć od tego, która wersja mySQL została zainstalowana podczas czytania i wykonywania tych instrukcji. Ufam, że sam możesz znaleźć katalog. Jeśli utkniesz, w katalogu głównym wpisz następujące informacje i zanotuj katalog wyjściowy:

dir mysqld.exe /s

Wpisz następujące polecenie, aby rozpocząć pracę w środowisku MySQL:

mysql -u root -p

Spowoduje to uruchomienie mysql z nazwą użytkownika „root”. Zostaniesz poproszony o podanie hasła (które domyślnie jest puste). Po prostu naciśnij ENTER.

Korzystanie z wiersza poleceń do pracy w środowisku MySql


KROK 4: Zaktualizuj swoje umiejętności SQL

Teraz, gdy masz już działające środowisko MySQL, możesz przystąpić do nauki, jak zostać mistrzem w tym środowisku! Sugeruję sprawdzenie następujących elementów:

Kanał Youtube Dereka Bany: https://www.youtube.com/watch?v=yPu6qV5byu4
Codecademy: https://www.codecademy.com/articles/sql-commands
Tutorialzine: https://tutorialzine.com/2016/01 / learn-sql-in-20-minutes
W3Schools: https://www.w3schools.com/sql/sql_quickref.asp


POWODZENIA!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.