webForumDet fria alternativet

Relationer

11 svar · 328 visningar · startad av Ceeron

CeeronMedlem sedan aug. 2000389 inlägg
#1

Är det en fördel att skapa relationer i Access?
Jag plockar ut info från ett flertal tabeller hela tiden mha. ASP och ställer frågor på att anvID = detID osv...
Blir det snabbare om man redan innan definerar relationer? eller är det bara till för interna Access saker?

Engine^Medlem sedan dec. 20002 861 inlägg
#2

Jag har testat att både ha relationerna i Access och att inte ha dom där. Prestandamässigt har jag inte märkt någon skillnad.

Jag antar att dom mest är till för att Access ska kunna använda sina olika Querytools och liknande, men jag vet inte helt säkert.

spangoMedlem sedan juni 20006 147 inlägg
#3

Det fina med relationer är att man kan ha kaskaderande updates/deletes et.c., så att en förändring i en rad går igenom i alla andra rader.

Engine^Medlem sedan dec. 20002 861 inlägg
#4

spango skrev:

Det fina med relationer är att man kan ha kaskaderande updates/deletes et.c., så att en förändring i en rad går igenom i alla andra rader.

Sant, men jag tycker det känns bättre att sköta sådana saker själv istället för att lita på att Access tar hand om det... :OO

Har man en riktig metadatastruktur, så ska behöver man inte använda cascade, men då kan man väl vara säker på att det fungerar. :)

nikoMedlem sedan juni 20022 415 inlägg
#5

Engine^ skrev:

Har man en riktig metadatastruktur, så ska behöver man inte använda cascade

Jo, det tycker jag nog. Eftersom just Access inte stöder transaktioner så är det faktiskt det säkraste (enda?) sättet att garantera att datan är förblir konsistent (ifall nu ens applikation skulle ha den dåliga smaken att krascha mittemellan två kritiska rader).

CeeronMedlem sedan aug. 2000389 inlägg
#6

Tycker oxå att det känns mest normalt att ta hand om vad som ska läggas till / ändras / ta bort helt själv...
Kanske inte ska använda access så jättelänge till utan byta till mysql...
Testade att lägga upp lite relationer bara o det blev en jävla massa för alla tabeller har ju koll på alla i princip så kör på som det e nu ;)
Tack iaf

spangoMedlem sedan juni 20006 147 inlägg
#7

Om alla tabeller håller koll på varandra har du förmodligen en rätt grötig relationsmodell :stud

CeeronMedlem sedan aug. 2000389 inlägg
#8

Menade inte det bokstavligt talat men ;)

Engine^Medlem sedan dec. 20002 861 inlägg
#9

niko skrev:

Engine^ skrev:

Har man en riktig metadatastruktur, så ska behöver man inte använda cascade

Jo, det tycker jag nog. Eftersom just Access inte stöder transaktioner så är det faktiskt det säkraste (enda?) sättet att garantera att datan är förblir konsistent (ifall nu ens applikation skulle ha den dåliga smaken att krascha mittemellan två kritiska rader).

Sant, men eftersom han tänkte använda den för ASP så bör Ceeron köra med Microsoft.Jet.OleDB.4.0 och på det sättet går det att använda transaktioner.

nikoMedlem sedan juni 20022 415 inlägg
#10

Engine^ skrev:

på det sättet går det att använda transaktioner.

Det har du iofs rätt i (var ett tag sen jag använde Access). Dock tycker jag fortfarande att det är en bra idé att använda Access' relationer (vare sig det gäller referensintegritet eller kaskad-deleter/updates).

Om man tänker i ett vidare perspektiv så är det ju inte säkert att det bara är en applikation som arbetar mot en given databas. I det fallet är det bättre/säkrare att reglerna för hur och i vilken ordning datan får ändras ligger i databasen, snarare än att varje enskild applikation ska behöva vara medveten om dem.

Engine^Medlem sedan dec. 20002 861 inlägg
#11

Ok, jag böjer mig ;)

Säkerhet/stabilitet går före lathet :bire

spangoMedlem sedan juni 20006 147 inlägg
#12

Faktum är att om man använder relationer, är man både säker, stabil och lat. Störtskönt att inte behöva tänka på vad man ska uppdatera och när :D

Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb