Kezdőoldal » Számítástechnika » Programozás » Hogyan hozzam létre az adatbáz...

Hogyan hozzam létre az adatbázist? (MySQL 5.7)

Figyelt kérdés

Egy Java programhoz szeretnék létrehozni egy adatbázist.

A program egy szótár lenne. Vannak txt fájlok amiben az angol szavak vannak és tabulátorral elválasztva a jelentésük. Egy angol szóhoz több jelentés is tartozik, de ez minden angol szónál változó. Van amelyikhez csak 1, de van amelyikhez 20-30 jelentés is tartozik.

pl.:

1. accept elfogad

2. accommodate helyreállít hozzáilleszt hozzáalkalmaz

férőhelyet biztosít stb...

A terv az lenne hogy ezeket a sorokat az adatbázisba tölteném fel. A kérdésem az lenne, hogyan lehetne ezt úgy megoldani, hogy nem tudom pontosan hány oszlop kell és azokba az oszlopokba ahol nincs már több jelentés azokat null-ra állítani?


Elképzelés:

+--------+--------+--------+--------+--------+

|--szó---|jelentés|jelentés|--null--|--null--|

|--szó---|jelentés|--null--|--null--|--null--|

|--szó---|jelentés|jelentés|jelentés|jelentés|

+--------+--------+--------+--------+--------+



2021. jan. 8. 12:12
 1/6 anonim ***** válasza:
100%

Kérdés:

- Előre tudod, hogy a hozzáadandó szónak van X jelentése? Így evidens, hogy X oszlopot hozol létre.

- Akkor mit kell tenni, ha legtöbb jelentéssel bírót kitörlik? Törölni kell az oszlopot is?


Az adatbázis tervezés szerint ez nem ideális. Mivel te két dolgot szeretnél egy táblába. Ez 1:N kapcsolatot takar. Azaz 1 szónak N jelentése van.


Tehát így:

Tábla1: Szó (egyedi azonosító, szó)

Tábla2: Jelentés (egyedi azonosító, szó azonosító, jelentés)


Azaz a Szó tábla tartalma:

[1, ablak]

[2, ajtó]

[3, asztal]


Jelentés tábla tartalma:

[1, 2, door]

[2, 3, desk]

[3, 1, window]

[4, 2, tür (németül)]

[4, 1, fenster (németül)]

2021. jan. 8. 13:08
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
100%

[1, 2, door]

[2, 3, desk]

[3, 1, window]

[4, 2, tür (németül)]

[5, 1, fenster (németül)]


Így. utolsó 4-es -> 5-s, mivel ID. Így a tudod a szót, és annak a számát, majd kikeresheted az összes azonos számú jelentést


SELECT Szo.szo, Jelentes.jelentes

FROM Szo

INNER JOIN Jelentes

ON Szo.id = Jelentes.so_id

WHERE Szo.szo = 'ablak'


"egyedi azonosító" az "id", az idegen kulcsot ami "szó azonosító" az "szo_id"

2021. jan. 8. 13:11
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

1#


Szerintem félre értetted a kérdezőt, csak angol szavakat akar írni, a német nem kell, az egy szót úgy gondolta hogy 1 angol szónak van több magyar jelentése.

2021. jan. 8. 13:35
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

#1 vagyok és a #3-nak:

Tudom, hogy nem nyelv a lényeg. Csak asszociáltam a "jelentés" szóval, mert jobb így, mint szárazan beszélnék róla, mindenféle jelentési szimbólumokkal.

Szóval lehet az idegen szó, és annak jelentése, vagy valami más szakmai dolog és annak jelentései. Szóval nem a "nyelv"-en van a hangsúly, hanem a szerkezeten. ;)


Mivel kedves kérdező 1 szóhoz több jelentést is társított egyes esetekben, így a több jelentést más-más nyelvnek megfelelően szimbolizáltam példa kedvéért.


Tehát a nyelvbe nem kell belekötni. De felírhatom máshogy is, ha akkor megnyugszik a lelked, vagy bele-köthetnéked támad. :P

2021. jan. 8. 14:06
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

#4


Egyáltalán nem kötekedtem, csak a kérdezőt megzavarhatja esetleg a németes dolog és gondoltam célszerűbb csak angollal szemléltetni a dolgot.

2021. jan. 8. 15:55
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Köszönöm a választ! És ezt a 2 táblát hogyan tudnám létrehozni 1 txt fájlból?
2021. jan. 8. 17:52

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!