Ä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?
Relationer
11 svar · 328 visningar · startad av Ceeron
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.
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.
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. :)
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).
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
Om alla tabeller håller koll på varandra har du förmodligen en rätt grötig relationsmodell :stud
Menade inte det bokstavligt talat men ;)
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.
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.
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