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 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.22.0, tj. první z nové řady 3.22, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 00:33 | IT novinky

    FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici

    … více »
    Ladislav Hagara | Komentářů: 39
    29.5. 20:33 | Komunita

    Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).

    Ladislav Hagara | Komentářů: 0
    29.5. 14:55 | Nová verze

    Společnost Netgate oznámila vydání nové verze 2.8.0 open source firewallové, routovací a VPN platformy pfSense (Wikipedie) postavené na FreeBSD. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    29.5. 14:00 | Nová verze

    Byla vydána nová verze 6.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 14.5.3. Linux na verzi 6.1.140. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    29.5. 12:33 | Zajímavý článek

    Člověk odsouzený za obchod s drogami daroval letos ministerstvu spravedlnosti 468 kusů kryptoměny bitcoin, které pak resort v aukcích prodal za skoro miliardu korun. Darováním se zabývá policejní Národní centrála proti organizovanému zločinu (NCOZ). Deníku N to potvrdil přímo ministr spravedlnosti Pavel Blažek (ODS). Podle resortu bylo nicméně vše v souladu s právem.

    Ladislav Hagara | Komentářů: 58
    28.5. 20:44 | Nová verze

    Svobodný a otevřený multiplatformní editor EPUB souborů Sigil (Wikipedie, GitHub) byl vydán ve verzi 2.5.0. Stejně tak doprovodný vizuální EPUB XHTML editor PageEdit (GitHub).

    Ladislav Hagara | Komentářů: 0
    28.5. 12:22 | IT novinky

    Na základě národního atribučního procesu vláda České republiky označila Čínskou lidovou republiku za zodpovědnou za škodlivou kybernetickou kampaň proti jedné z neutajovaných komunikačních sítí Ministerstva zahraničních věcí ČR. Tato škodlivá aktivita, která trvala od roku 2022 a zasáhla instituci zařazenou na seznam české kritické infrastruktury, byla provedena kyberšpionážní skupinou APT31, veřejně spojovanou se zpravodajskou službou Ministerstvo státní bezpečnosti (MSS).

    Ladislav Hagara | Komentářů: 52
    28.5. 00:11 | Nová verze

    Google Chrome 137 byl prohlášen za stabilní. Nejnovější stabilní verze 137.0.7151.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 11 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    27.5. 19:22 | Nová verze

    Byl vydán AlmaLinux OS 10 s kódovým názvem Purple Lion. Podrobnosti v poznámkách k vydání. Na rozdíl od Red Hat Enterprise Linuxu 10 nadále podporuje x86-64-v2.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (31%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 166 hlasů
     Komentářů: 13, poslední včera 12:26
    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: 1520×
    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: 45 | 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.