SQL a temat pracy

0

Cześć,

szukam inspiracji odnośnie tematu pracy inżynierskiej w której chciałbym się skupić na bazach danych i SQL'u.
Pisaliście może coś podobnego w swoich pracach? Myślałem, nad analizą porównawczą np SQL servera oraz Oracla lub stworzeniu rozbudowanej bazy i zaprogramowania jej np. w T-SQLu, czy hurtowni danych.
Promotor dał mi wolną rękę, proszę o jakieś ciekawe rady i sugestie.

Pozdro!

0

Mnie osobiście by bardzo się podobał temat optymalizacji zapytań, ale to może dlatego, że mam fetysz na punkcie wydajności. Jak coś się wykonuje powyżej 200ms to szukam sposobu aby to przyspieszyć.
Mógłbyś poruszyć takie tematy jak analiza planu zapytania, analiza dlaczego zapytanie nie chce użyć indeksu lub czego unikać aby nie spowolnić zapytania. Według mnie temat jest dość obszerny.

0

Analizy porównawcze to nuda. Zrób deduplikację danych osobowych. Tj. masz bazę osób/firm oraz ich adresów (każdy może mieć 0 lub więcej adresów, różnych typów).
Dane są wpisane w różnej postaci i z różnym zakresem szczegółowości. Chodzi o to, żeby na podstawie danych unikalnych (PESEL, REGON itp.), albo w razie ich braku - na podstawie zbioru pól (np. nazwisko, imię, miejscowość) znaleźć duplikaty osób i przygotować ich listę do weryfikacji, a następnie do usunięcia.
Można też ich nie usuwać, a wyznaczać ID głównej osoby, z którą pozostałe będą połączone - wtedy baza zawiera dane zduplikowane, ale wiemy do której "głównej" osoby należą.
Do tego na podstawie liczby wypełnionych pól (lub innych kryteriów) można ustalić ranking, wg którego będą typowane osoby do usunięcia / podłączenia pod główny ID.

Przykładowo masz takie osoby:
(ID, PESEL, Imię, Nazwisko, Typ, Miejscowość, Ulica, Nr domu, Nr lokalu)

10, 64041004234, Jerzy, KOWALSKI, Osoba_fizyczna, Kraków, Dietla, 10
32, 94021023241, PaulinA Kocarska, Osoba_fizyczna, Wejherowo, Główna, 12, 2
39, 94021023241, NULL, Osoba_fizyczna, Wejherowo, NULL, NULL, NULL

itd.

Dane będziesz musiał sobie wygenerować (bo RODO :P) i to w znacznej liczbie rzędu kilku milionów rekordów, żeby było to jakieś wyzwanie.
W razie czego mogę podpowiedzieć jak w rzeczywistości wyglądają tego typu dane, naprawdę kombinacji jest wiele. Są osoby z samym PESELem, PESEL + miasto, PESEL+imię+nazwisko, pełne dane, osoby z podwójnymi nazwiskami rozbitymi na osobne pola, a czasem razem; w nazwie ulicy wstawiony nr domu/lokalu mimo, że jest na to oddzielne pole itp.

Żeby nie było za łatwo, te osoby można połączyć z innymi tabelami jak Adresy, Rachunki, Bankowe, Korespondencja itp.
Albo zrobić dwa przypadki - deduplikację z usuwaniem danych (+ przepinanie danych zależnych na osobę, która pozostaje w bazie) oraz deduplikację z wyznaczaniem głównego ID osoby. Porównać skuteczność, złożoność obu przypadków oraz przeanalizować ryzyka związane z poszczególnymi przypadkami (np. niepoprawna zamiana ID osoby w Kredycie).

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