![]() |
Nå zoran, du frågade. Dålig design eller ej?
|
Citat:
Det tycker jag iaf låter mer överskådligt än att ha 1000+ tabeller. |
Citat:
Datum Högst Lägst Stängningskurs Omsättning Instrumentets (oftast aktiens) namn finns i tabellens namn. Varje post är kursdata för en dag, från 1995 till idag. Hur lägger jag upp det på något bättre och fortfarande överskådligt sätt? Jag har även några tabeller med annan typ av data, där instrumentnamnet ligger i ett fält. Men där finns inte tidsdimensionen. |
Två tabeller,
instrument {id, namn} data {instrument_id, resten_av_datan, ..., ... etc } Jag kanske har missat nåt viktigt här dock? |
Citat:
|
I princip inte. Dina index måste vara korrekta dock.
|
Citat:
|
Citat:
|
Citat:
Egentligen är det kanske tillsynes överskådligt. Men tabellnamnen måste hårdkodas i applikationen eller någon algoritm, för att beräkna tabellnamnen, skapas. Det kanske fungerar jättebra idag, men imorgon när du behöver ändra något är det plötsligt mycket svårare. Ditt skript eller du själv måste hålla reda på olika tabellnamn/instrumet. Dvs. du eller ditt skript gör det jobbet som databasmotorn är designad för. Jag vet inte riktigt varför du tycker att det är jobbigt att lägga in en "where id=x" i dina querys. Sen vet jag inte hur du kan tycka att det är överskådligt att "show tables" i mysql returnerar 1400 rader. Om du dessutom råkar ha en rad data i varje tabell så har du ökat din datalagring med sisodär 200-300%, eftersom för varje rad data måste du lagra info om fälten som egentligen skulle kunna delas av alla tabeller. Hursomhelst, den bästa metoden NI kan använda är ju naturligtvis den metoden som fungerar för er och den metoden ni har arbetsprocesser för. Objektivt sett är ni ute och cyklar en smula. /Zoran |
Citat:
Så länge du kan "gissa" hur din tabell ska heta är det fint. Vad händer när "styrelsen" beslutar att en instrument foo ska heta foo_a eller liknande. Det kanske inte tillämpar just här, men i andra lägen. Man är i princip låst. Har man en tabell där man lagrar ID, och sen attributen för det id-et, och sen data i en annan tabell som man knyter till ID-et i den första, gärna med foreign keys med "on update cascade on delete cascade", så kan du göra en ändring i datat helt transparant för din applikation. Skulle man plötsligt få för sig att ändra nomenklaturen i första fallet måste du hacka om din applikation för att det ska fungera. /Zoran |
Alla tider är GMT +2. Klockan är nu 07:55. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson