W jaki sposób importować dane z CSV do wielu relacyjnych tabel?
Załóżmy że mam plik CSV z kolumnami "nazwisko", "miasto".
Naturalnie mam w bazie dwie tabele, jedną z klientami - nazwisko oraz miasto_id, a druga tabela to wiadomo, po prostu id i nazwa miasta.
Jest jakieś narzędzie albo ogólnie przyjęty sposób konwersji takich danych? Zarówno dla baz pustych, jak i tych z danymi.

Jedyne co mi przychodzi na myśl to co wiersz wykonywanie SELECTa
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

najprościej by chyba było jakbyś zrobił tabele "tymczasową" do której wczytujesz dane z pliku csv, a następnie z tymczasowej miasta do tabeli z miastami(tylko distinctem żeby się nie powtarzały), później nazwiska z tymczasowej do klientów z jednoczesnym zaczytaniem id miasta na podstawie porównania zawartości tabeli tymczasowej z docelowej z miastami

w przypadku ms sqla mozna by to zrobić prostym ssisem, który powinien się dość szybko przetworzyć i dodać do joba, który by
  • Odpowiedz
Proszę o pomoc przy workbenchu i ogólnie bazach danych.

Mam model konceptualny bazy, stworzyłem sobie wszystko fajnie. Ale potrzebuje teraz fizyczny.

Pytanie brzmi: czy jest jakis myk w workbenchu ktory mi zamieni konceptualny na fizyczny? A jesli nie to jak go utworzyc?

#workbench #mysql #sql #bazydanych
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

pytanie do wtajemniczonych, Wy jako admini zajmujecie się danymi osobowymi może coś doradzicie, wszędzie straszą nowym RODO które wchodzi w przyszłym roku, trzeba się na to jakoś przygotować czy to tylko jakaś papierologia ?

#informatyka
#daneosobowe
#bazydanych
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, mam tabelę w oraclu gdzie przechowuję SDOGEOMETRY i potrzebuję sprawdzać czy nowa geometria istnieje w tej tabeli, jeśli nie to dodaję. Jak najlepiej to zrobić SDOEQUAL? Przy próbie testowego sprawdzenia:
SELECT *
FROM GEO
WHERE SDOEQUAL(SDOGEOMETRY (2001,4326,SDOPOINT
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Rageslaw: Czy masz dostep do dba indexes? Sprawdzilbym, czy indeks jest w stanie VALID (przy klauzuli where INDEX TYPE = 'DOMAIN' i ITYP NAME = 'SPATIAL INDEX'). Pamietaj, ze nie chodzi tu o kolumne STATUS, tylko inna ;)

Moze byc to równie dobrze bug, warto przejrzec MOS, np. Doc ID 1664507.1 - "
BUG 17922440 - ORA-13226: INTERFACE NOT SUPPORTED WITHOUT A SPATIAL INDEX The problem is with index-based functional
  • Odpowiedz
Mam tabele o następującym kodzie:

CREATE TABLE grades (

id int(11) NOT NULL AUTOINCREMENT,

grade double(2,1) NOT NULL,

subject_id int(11) DEFAULT
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zdecydowałem się wyjąć z bazy danych pewne dane i trzymać je na dysku w postaci zserializowanych obiektów. Czy to znaczy, że jestem już nosql-owcem?
#nosql #sql #bazydanych
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Kupić u spamerskich psich maści sprzedawców baz danych. Daj mi lepiej adresy serwerów z których będziesz wysyłać, to za wczasu wpiszemy im odpowiednią regułkę dla poczty ;-)......
  • Odpowiedz
@interface:

tldr;

Jest szybszy, bo operacja zapisu nie podlega skanowaniu antywirusem. W testach założyli, że antywirus jest aktywny, bo jest to domyślne ustawienie
  • Odpowiedz
Jest szybszy, bo operacja zapisu nie podlega skanowaniu antywirusem. W testach założyli, że antywirus jest aktywny, bo jest to domyślne ustawienie Windowsa.


@vipe: antywirus jest jednym z czynnikow, wyniki pokazaly tez ze jest szybsze na androidzie, linuxie i macu
  • Odpowiedz
Ma ktoś pomysł jak ustawić id (od 1 do ....) dla każdego rekordu, jeżeli wszystkie id są równe początkowo 0?

Za pomocą procedury lub pojedynczego update'a.

Próbowałem już na kilka sposobów ale za fixa nie mam jak się odwołać do pojedynczego wiersza.

#mysql #bazydanych
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#postgresql #bazydanych Czy jest jakieś uzasadnienie na to, że pg_trgm (indeks trigramów) nie obsługuje =, a obsługuje LIKE także bez wieloznaków (co jest niemal tym samym - czy są wyjątki, które obowiązują w pgsql)?
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@plushy: No spojrzałem w dokumentację zanim napisałem. Myślałem, że ktoś mnie oświeci, zwłaszcza do co różnicy między = a LIKE bez % i _. Choć koszt pewnie jest mały, to głupio trochę mieć dwa indeksy, jeśli wystarczy jeden.
  • Odpowiedz
@RicoElectrico: LIKE używa operatora ~~, jest to inny operator niż =. Jeśli włączysz btreegist to możesz mieć index gist który na jednym poziomie będzie miał trigramy a na drugim = się dla textu (gisttext_ops) ale razem się tego skombinować nie da. Tyle od strony technicznej, czemu nie zaimplementowali = się dla textu musisz się pytać autorów. Jak ci się nudzi to możesz zaimplementować klasę operatorów która łączy obie
  • Odpowiedz
Mirki, mam pytanie z #bazydanych #sql, mianowicie: mam sklep internetowy na Presta, zaciągnięte produkty z hurtowni przez XML, niestety hurtownia nie udostępnia producentów. Produktów jest kilka tysięcy i klikanie sobie po kolei każdy żeby ustawić producenta to ogrom roboty. Pomyślałam, że może da się to zrobić jakoś przy pomocy SQL.

Na podstawie lektury w internetach ułożyłam sobie takie polecenie:
UPDATE ps_product SET idmanufacturer = '1' WHERE name
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kizimajaro:
UPDATE psproduct SET idmanufacturer = '1'
WHERE name = '%Producent%'
AND psproduct.idproduktu = psproductlang.idproduktu

Dodałbym jeszcze nazwy tablic do tego czyli np: update nazwatablicy.psproduct itd
  • Odpowiedz
@MrFruu: Za ciocią wiki:

Boyce–Codd normal form (or BCNF or 3.5NF) is a normal form used in database normalization. It is a slightly stronger version of the third normal form (3NF)


więc odpowiedź brzmi: TAK.
  • Odpowiedz
#sql #programowanie #bazydanych
Mam problem z określeniem kierunku relacji, zaćmiło mnie.
Mam trzy tabele, dajmy na to A, B i AB.
Tabela A przechowuje informacje np. o fizycznej jednostce (np. dział organizacji zawodów, dział planowania trasy etc.), a tabela B informacje o jakimś zasobie, artefakcie czy czymś takim (np. plan trasy, uczestnicy zawodów). Obie tabele mają pole id, które jest kluczem głównym.

No i dochodzimy do sedna. Tabela A
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Arveit: ale po co 3 tabele. Skoro jest to relacja jeden do wielu to dajesz dwie tabele i w jednej (B) kolumnę np id_A która będzie kluczem obcym na A(id). Wtedy możesz dopisać do kilku zasobów tą samą jednostkę.
  • Odpowiedz