abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:11 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 7.0.0. Pro sandboxing se na Linuxu nově používá Landlock místo Bubblewrap. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    včera 23:33 | Nová verze

    Správce fotografií Shotwell byl vydán ve verzi 33.0 (GitLab). Hlavní novinkou v tomto vydání po dvou letech je přechod na GTK4.

    ʚĭɞ 🍉 | Komentářů: 0
    včera 01:44 | Komunita

    Na YouTube byly publikovány videozáznamy přednášek a na Flickru fotografie z konference EuroPython 2026.

    Ladislav Hagara | Komentářů: 0
    12.9. 18:11 | Nová verze

    Byl vydán Debian 13.7, tj. sedmá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    12.9. 02:00 | Zajímavý článek

    Jiří Eischmann se v příspěvku Fiasko jménem W Social na svém blogu věnuje evropské sociální síti W: "W Social je příkladem toho, že se problémy sociální sítí nedají řešit od exekutivního stolu. Když na začátku tohoto roku v Davosu oznámili vznik nové sociální sítě W Social, politici se mohli přetrhnout ve chvalozpěvech. Konečně evropská sociální síť a ještě s ověřením identity. … Jak se ukázalo, když v Davosu W Social oznamovali, neměli kromě

    … více »
    Ladislav Hagara | Komentářů: 19
    11.9. 18:00 | Bezpečnostní upozornění

    Výrobce hardwarových kryptoměnových peněženek Trezor upozorňuje na bezpečnostní incident u společnosti Brevo, kterou využívá k odesílání newsletterů. Útočník na e-mailové adresy odeslal phishingový e-mail.

    Ladislav Hagara | Komentářů: 5
    11.9. 14:33 | Komunita

    Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za srpen 2026. Aplikace XApp mají vlastní webovou stránku xapp-project.org. Představena byl čtečka EPUB s názvem Xepub a kalendář Clockenstein.

    Ladislav Hagara | Komentářů: 0
    11.9. 11:44 | Nová verze

    Byla vydána nová verze 3.2.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    11.9. 11:33 | Nová verze

    Bylo vydáno Ubuntu 24.04.5 LTS, tj. páté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    11.9. 04:33 | Komunita

    Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.

    Ladislav Hagara | Komentářů: 10
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2661 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: PHP, MySQL a spravne pojmenovani sloupecku

    18.1.2022 20:31 Vlasta
    PHP, MySQL a spravne pojmenovani sloupecku
    Přečteno: 2386×
    Ahoj,

    omluvte prosim zacatecnicky dotaz, ale peru se s timto: mam nasledujici tabulky:
    CREATE TABLE `countries` (
      `id` int ...
      `name` varchar(255) ...
    )
    
    CREATE TABLE `cities` (
      `id` int ...
      `country_id` int ...
      `name` varchar(255) ...
    )
    
    CREATE TABLE `streets` (
      `id` int ...
      `city_id` int ...
      `name` varchar(255) ...
    )
    
    Potom dotaz:
    SELECT countries.name, cities.name, streets.name 
    FROM countries 
    LEFT JOIN cities ON cities.country_id=countries.id 
    LEFT JOIN streets ON streets.city_id=cities.id 
    WHERE 1
    
    Mi vrati vysledek, dejmetomu:
    [name][name][name]
    |Czechia|Brno|Kounicova|
    |Czechia|Brno|Cejl|
    
    Jak se s tim potom pracuje treba v PHP, kdyz dam treba mysqli_fetch_assoc, jak poznam ktere "name" se vztahuje k jake tabulce?

    Jasne, ze si muzu v tom dotazu dat "AS country_name ... AS city_name", ale co slozitejsi dotazy nez tenhle? To si usoupu prsty

    Nebo si ty sloupecky muzu pojmenovat jako country_id, country_name, city_country_id, city_name, ...

    Nebo mi neco unika? Existuje zpusob, jak mohu zachovat tabulky i dotaz v te prvni podobe, viz vyse, a z vystupu v PHP pak poznam z ktere tabulky je ktere "name"?

    Dekuji za vas cas

    Řešení dotazu:


    Odpovědi

    18.1.2022 21:28 X
    Rozbalit Rozbalit vše Re: PHP, MySQL a spravne pojmenovani sloupecku
    Pojmenovat vsechny sloupce v tabulkach stejne je kravina presne z tohoto duvodu a proste spatny navrh databaze. Osobne, to mnozne cislo v nazvu jsi si take mohl odpustit.

    18.1.2022 22:22 X
    Rozbalit Rozbalit vše Re: PHP, MySQL a spravne pojmenovani sloupecku
    Ale mozna se pletu..
    24.1.2022 22:27 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP, MySQL a spravne pojmenovani sloupecku
    Stejné názvy sloupců používám zcela běžně. Například id mám téměř v každé tabulce. Aliasy jsou potřebné i kvůli převodu mezi konvencemi. Například street_name AS streetName mi krásně převede jméno podle zvyklostí v PHP a můžu se pak na něj odkazovat třeba $row->streetName. Je to užitečné i v případě kolizi s klíčovými slovy.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    2.2.2022 16:12 ehmmm
    Rozbalit Rozbalit vše Re: PHP, MySQL a spravne pojmenovani sloupecku
    Nesouhlasim. Me osobne nevadi ani jeden z tech pristupu.

    Kdyz mam tabulku CITIES, tak ID muzu pojmenovat jenom jako ID, nebo jako CITY_ID/ID_CITY. Stejne tak NAME muze ale nemusi byt CITY_NAME, zalezi na zvyku v danem kolektivu. Proc duplikovat nazev tabulky.

    A kdyz pak joinuje nekolik tabulek se stejnymi nazvy sloupcu do sebe, tak mu nic nebrani napsat neco jako (a je slusnost to tak udelat):

    select CITY.NAME as CITY_NAME, COUNTRY.NAME as COUNTRY_NAME from COUNTRY left outer join CITY on ...

    A co se tyka mnozneho cisla v nazvu tabulky, tak opet dle vkusu kazdeho soudruha. U jednoho zakaznika mame tabulky MACHINES, PROJECTS, SHIFTS a nijak me to nepohorsuje.

    Spis povazuji za dulezite nejak nazvem rozlisit tabulky, ktere se chovaji jako "cisleniky" (seznam lidi, mest, stroju) a tabulky, ktere obsahuji data posbirana v case (udalosti, teploty, vyrobene kusy...). V jeden firme tyhle tabulky mely priponu _DATA, v jine _HIST a oboji se mi libilo.
    Řešení 1× (OldFrog {Ondra Nemecek})
    20.1.2022 10:43 EtDirloth | skóre: 11
    Rozbalit Rozbalit vše Re: PHP, MySQL a spravne pojmenovani sloupecku
    Pisat aliasy pre stlpce SELECT klauzuly je spravny sposob. Vobec nemaj pocit, ze si upises prsty - selecty nerobi zlozitym pocet stlpcov, ale joinov, pripadne jeho dalsie klauzuly. Je to to iste, ako ked pomenuvas premennu v PHP - tiez si neurobis na zaciatku programu globalny array, do ktoreho si ukladas a citas hodnoty premennych cez ciselny index.

    Vylepsit alias vies tym, ze si select deklarujes ako view. To ma vyznam ak:
    • chces bud silnejsie oddelit definiciu dat od aplikacnej logiky (pridanim vsetkych selectov do views, resp. funkcii ti pribudne dalsia abstrakcna vrstva),
    • alebo pri reuse (ak ten select v podobnej forme opakujes na viacerych miestach v PHP, ci v inych selectoch cez join).
    A predrecnikove pomenovacie kraviny neries
    • jednotna konvencia pre mena stlpcov podla ich pouzitia je mudra vec - pri vacsich schemach sa v tom budes stale vyznat, pretoze su odvoditelne (ja kludne davam meno pre FK aj len "country", pretoze az na par velmi ojedinelych vynimiek su vsetky moje primarne kluce pomenovane `id` - ale s tym suffixom "_id" nic nepokazis)
    • pomenovanie tabuliek mnoznym cislom je OK - dotazy a joiny pri citani zneju prirodzene a v kombinacii s jednotnym cislom v mene stlpca cudzieho kluca to pekne implikuje kardinalitu
    24.1.2022 13:37 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: PHP, MySQL a spravne pojmenovani sloupecku
    Pokud sloupečky označují stejnou věc, pojmenovávám je stejně ve všech tabulkách.

    Dokonvertoval jsem k tomu, že tabulky pojmenovávám jednotným číslem - množné brání automatickému generování sql, komplikuje ruční přejmenování v souborech při refaktoringu apod.

    Kde je potřeba, píšu aliasy na tabulky i sloupce - složitější sql se pak lépe čte, navíc to některé dotazy vyžadují takže je pak jednotný styl všech dotazů.
    -- OldFrog
    20.1.2022 14:04 Nudící se důchodce
    Rozbalit Rozbalit vše Re: PHP, MySQL a spravne pojmenovani sloupecku
    SELECT co.name stat, ci.name obec, str.name ulice
    -- SELECT co.name as country, ci.name as city, str.name as street
        FROM countries co
            LEFT JOIN 
            cities ci 
            ON ci.country_id=co.id 
            LEFT JOIN 
            streets str 
            ON str.city_id=ci.id 
        WHERE 1
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.