Przejdź do treści

Schemat SQL na DBML

Przekształć instrukcje CREATE TABLE na definicję diagramu DBML.

Wejście
Wynik

Schemat SQL na DBML

Wklejte jedną lub więcej instrukcji CREATE TABLE, a to narzędzie zwróci odpowiednik DBML — format zwykłego tekstu używany przez dbdiagram.io i podobne narzędzia do diagramów relacji. Każda tabela staje się blokiem Table, każda kolumna zachowuje swoją nazwę i typ, a klucze podstawowe, ograniczenia unikatowości i klucze obce są automatycznie przenoszeni. Jest przeznaczony na moment, gdy masz zrzut schematu i potrzebujesz szybkiego diagramu bez wklejania SQL do usługi hostowanej.

Opcja dialektu mówi parserowi, co czyta — MySQL, PostgreSQL, SQLite lub SQL Server — ponieważ to samo słowo kluczowe może oznaczać różne rzeczy w różnych silnikach (MySQL TINYINT(1) czyta się jako boolean, kolumna SQL Server IDENTITY czyta się jako auto-increment). Włącz mapowanie typów, aby zmniejszyć typy specyficzne dla dialektu do kanonicznego zestawu DBML (int, varchar, decimal, timestamp itp.), lub wyłącz je, aby zachować oryginalne nazwy. Komentarze — klauzula MySQL COMMENT lub PostgreSQL COMMENT ON — stają się wpisami DBML Note, gdy opcja "Zachowaj komentarze" jest włączona. Nazwy kolumn takie jak user_id mogą opcjonalnie wnioskować relację z tabelą users nawet bez jawnego klucza obcego, a tabele współdzielące przedrostek nazewnictwa (shop_orders, shop_products) mogą być pogrupowane w TableGroup.

Narzędzie rozumie wbudowane klauzule REFERENCES, ograniczenia FOREIGN KEY na poziomie tabeli i oddzielne instrukcje ALTER TABLE ADD CONSTRAINT, więc działa na jednym bloku CREATE TABLE lub pełnym zrzucie z kluczami dodanymi później. Złożone klucze podstawowe i ograniczenia unikatowości są renderowane jako bloki indeksów DBML zamiast być usuwane.

Wszystko działa lokalnie w Twojej przeglądarce — schemat nigdy nie jest przesyłany nigdzie, co jest ważne, gdy SQL, który wklejasz, opisuje rzeczywistą bazę danych produkcyjną. Skopiuj DBML, pobierz go jako plik .txt lub wyślij dane wyjściowe bezpośrednio do innego narzędzia, aby kontynuować pracę.

Częste pytania

Które dialekty SQL są obsługiwane?
MySQL, PostgreSQL, SQLite i SQL Server. Wybierz pasujący dialekt, aby mapowanie typów i detekcja auto-increment prawidłowo odczytały SQL.
Jak są wykrywane klucze obce?
Z wbudowanych klauzul REFERENCES, ograniczeń FOREIGN KEY na poziomie tabeli i oddzielnych instrukcji ALTER TABLE ADD CONSTRAINT ... FOREIGN KEY — wszystkie trzy są konwertowane na wiersze DBML Ref.
Co robi opcja "Odwoduj relacje z nazw kolumn"?
Gdy kolumna nosi nazwę user_id i nie istnieje jawny klucz obcy, narzędzie sprawdza pasującą tabelę users z kolumną id i dodaje do niej Ref, oznaczony jako wnioskowany w danych wyjściowych.
Czy mogę wkleić dane wyjściowe bezpośrednio do dbdiagram.io?
Tak. Dane wyjściowe to czysty DBML — tabele, kolumny, klucze i relacje — w formacie oczekiwanym przez dbdiagram.io i zgodne narzędzia.
Czy mój schemat jest przesyłany gdziekolwiek?
Nie. SQL, który wklejasz, jest analizowany całkowicie w Twojej przeglądarce i nigdy nie opuszcza Twojego urządzenia.