#bazydanych #sql #java #programowanie
Mam aplikację webową, która pozwala użytkownikowi dodawać, edytować, usuwać, wyświetlać różne obiekty. Aplikacja jest oparta na springu, obiekty przechowywane są w bazie danych. Do bazy łączę się za pomocą jednego konta. W jaki sposób najlepiej zrealizować dostęp użytkownika tylko do jego danych? Widzę dwie opcje, pierwsza to klucz obcy do tabeli z użytkownikami w każdej tabeli powiązanej z obiektami z
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@franczi: Możesz jeszcze dodać tabelę, która będzie trzymała właścicieli wierszy (przy takim podejściu łatwo to rozszerzyć do wielu właścicieli jednego wiersza).
id-właściciela (fk), id-obiektu-z-tab1 (fk), id-obiektu-z-tab2 (fk), id-obiektu-z-tab3 (fk)... itd. W jednym takim wierszu tylko jedna kolumna id-obiektu-z-tab nie jest nullem.

Z diagramem przy każdym podejściu będzie sieczka. Najlepiej wydzielić "kopię", który tylko ilustruje relacje "własności" wierszy.
  • Odpowiedz
Mirkowie opłaca się uczyć SQL? Ostatnio przeglądam oferty pracy i dosyć często pojawia się w wymaganiach znajomość SQL. Umieć na pewno warto, ale nie chcę znowu tracić czasu na coś czego mogę nie wykorzystać w przyszłości. Pytam bo zielonka ze mnie w tym temacie. To nie jest czasem jakiś temat mało przyszłościowy? Z drugiej strony jak są oferty pracy to chyba warto się tego uczyć?

#mysql #sql
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fdsgvf-vfdbd:
Ogólnie zależy czym się chcesz zajmować, na jakie stanowisko startujesz. W duuużym skrócie: przy front-endzie (html,css,js) sql raczej Ci się nie przyda, a jak wystąpi taka potrzeba to znajdziesz odpowiedz w internetach bez nauki. Natomiast już wszystkie stanowiska związane z back-endem zawsze wiążą się z pracą na bazie danych, a wciąż w większości projektów baza danych = sql. W takim przypadku znajomość tego języka, choćby na średnim poziomie to
  • Odpowiedz
  • 2
Ktoś wie czym mogę otworzyć bazę SQL parę GB? Bo chce sprawdzić jakie moje dane wyciekły z Netii a notatniki, notepad++, przeglądarka nie ogarnia tego? #netia #sql #pytanie
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, mam pytanie od SQLa.
Mam sobie w bazie kilka 8-9 cyfrowych intów w polu unikalnym. Raz na jakiś czas konkretne, zawsze te same numery muszę zwolnić. Biorę je sobie wówczas i każdy z nich zmieniać na kolejne wartości (przykładowo: 43. 44. 45. 46... aż do wyczerpania numerów, które musze zwolnić).
Jak przygotować zapytanie SQL, które zrobi to za mnie?
Działanie:
1. Znajdź pierwszy wolny int z kolumny A
2. Weź pierwszy numer z podanej
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Miraski mam bazę danych ważącą prawie 1 giga. Czym mogę ją otworzyć? Wszystkie programy, których używałam do tej pory wymiękają i dostaje out of memory. #sql #kiciochpyta
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki jak projektujecie bazę danych w Entity Framework + MS SQL Server?

Chciałbym uzyskać w rzeczy:
- zaprojektować bazę za pomocą diagramu
- wykorzystując diagram wygenerować klasy w podejściu code first

Jak
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej Mirki! Mam takie zagadnienie, może ktoś mądry doradziłby mi jakieś optymalne rozwiązanie.

Mam tabelę zawierającą 3 kolumny: start, koniec, liczbaGodzinWDobie, startDoby. Start i koniec to datetime. Kolumna liczbaGodzinWDobie przechowuje parametr int, startDoby chcę uzupełnić zgodnie z poniższym algorytmem.
Algorytm wygląda tak: biorę pierwszy rekord (są posortowane po kolumnie start), zczytuję liczbaGodzinWDobie i start (nazwijmy sobie to dla wygody START). Dla wszystkich rekordów takich, że start < START + liczbaGodzinWDobie , ustalam: startDoby
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Witajcie, byłbym bardzo wdzięczny mirkowi, który podpowie mi w jaki sposób można nadać wartośc rekordu z tabeli używając przyciska w formularzu drugiej tabeli. Mam przykladowo tabele 'zapis na sektory' oraz tabele 'sektory' i chce z poziomu formularza tabeli 'zapis na sektory' nadac wartosc pewnego pola w tabeli 'sektory'. Zaczynam zabawę z tym i domyślam się, że to coś prostego, ale przeszukałem już sporo. Działam na #access 2010. #vba
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Witam mirki, mam pytanie dotyczące tworzenia bazy danych w #sql server managment studio. Uzupełniając tabele rekordami z automatycznie inkrementującym się identyfikatorem tworzy się on nie po kolei tzn pierwszy rekord ma id = 1 a następny już id = 3. Identyfikatory nadal są unikalne, ale czemu tak się dzieje? Gdzie mogłem coś popieprzyć? Z góry dziękuje za pomoc. #mysql #tsql #pomocy
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 2
Bo możesz mieć step w inkrementacji ustawiony na 2. Albo pomiędzy 1 a 3 miałeś błędna próbę wstawienia rekordu
  • Odpowiedz
#sql podstawy. Mam taką sytuację: tabela sets i w niej kolumny cwiczenie, trening i id. Poza tym druga tabela exercises z kolumnami nazwa, id.
Mam teraz selecta: SELECT DISTINCT cwiczenie FROM sets WHERE sets_trening="2" i wszystko fajnie ale chciałbym aby zamiast ID ćwiczenia wyświetlały się nazwy ćwiczeń dla tego id z tabeli exercises. Próbuje coś sam zdziałać ale nie wychodzi:

SELECT s.sets_exercises, e.exercise_name
FROM sets s
WHERE s.sets_trening=2
JOIN exercises
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Muszę pobrać dane z bazy danych i mam pewien problem. W bazie danych mam tabelkę użytkowników i szkół. Użytkownik może mieć wiele szkół. Muszę więc wyświetlić na stronie, do jakich szkół należy ten użytkownik. Jeżeli piszę zwykły select:
SELECT f0.id as id0,
f0.roles AS roles0,
f0.firstname AS first
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,

Miał ktoś problem w ciągu ostatnich dni, że po aktualizacji Windowsa 10, przestał mu się uruchamiać serwer (połączony z Microsoft SQL server)

Błąd jest taki:

ExitCode(-1),
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Witajcie Mirki. Kolejny raz swieżak w programowaniu potrzebuje waszej pomocy. Tym razem przy transakcjach.

Mam taki o to prosty kod skopiowany do konsolowego projektu z dużego programu, w którym go utworzyłem.

SqlConnection konekt = new SqlConnection("POłączenie do bazy z ustawień programu - działa w innych miejscach");
SqlTransaction trans = null;
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Vanguard1990:
Wiem, że dalej to już nie na temat ale nie mogę sobie darować.
Używaj using(){ ...} bo troszkę tu namieszałeś.
jak już zamykasz połączenie to w try-catch to w bloku finally. To co napisałeś nigdy się nie zamknie jak nie wystąpi błąd.
a samo Rollback też dobrze by było w wewnętrzny try-catch wsadzić-jak wystąpi błąd po stronie serwera albo zerwie połączenie to masz nieobsłużony wyjątek
  • Odpowiedz
@Vanguard1990:
Właśnie do tego służą transakcje-traktuj je jak zbiór operacji, które muszą zakończyć się powodzeniem.

Standardowym przykładem są tu operacje na rachunkach bankowych. Masz rachunek z, którego przelewasz 1 500 zł i rachunek na, który wpływa te przelane 1 500 zł.
Wykonujesz zapytanie do bazy danych - z jednego rachunku znika 1500 zł.
Wykonujesz zapytanie do bazy aby dopisać na drugim rachunku 1500 zł ale
  • Odpowiedz
#sql mirunie, jest tutaj ktoś kto ogarnia troszkę ssdt? na projekt zaliczeniowy potrzebuje zrobić integration service, ale zaciąłem się już na samym początku, bo nie potrafię znaleźć funkcji, która podzieliłaby jedną kolumnę na 4 (dane w kolumnie są oddzielone spacją). Jest w ogóle taka funkcja?( ͡° ʖ̯ ͡°)
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@darco3: mała pomyłka, to są 3 rzeczy, wzór jest taki: tutajPowiat "miasto" tutajMiasto (tutajSkrótWojewodztwa).
skrot województwa już wyciągnąłem RIGHT'em bo skrót to 2 literki w nawiasie. Napisałem zapytanie sql, które wyciąga to co chce i wygląda tak:

select SUBSTRING(zmienna, (PATINDEX('%miasto%',zmienna)+7), (LEN(zmienna)-PATINDEX('%miasto%',zmienna)-10)) from [OLE DB Destination];

niestety w funkcjach derived column w SSIS zamiast PATINDEX jest tylko FINDSTRING i po wykorzystaniu go
  • Odpowiedz