webForumDet fria alternativet
Logga in / Bli medlem

Relationer

Databaser & SQL

11 svar · 328 visningar · startad av Ceeron

Medlem sedan aug. 2000378 inlägg
Trådstart#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?

Medlem sedan dec. 20003 887 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.

Medlem sedan juni 20008 205 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.

Medlem sedan dec. 20003 887 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. :)

Medlem sedan juni 20022 599 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).

Medlem sedan aug. 2000378 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

Medlem sedan juni 20008 205 inlägg
#7

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

Medlem sedan aug. 2000378 inlägg
#8

Menade inte det bokstavligt talat men ;)

Medlem sedan dec. 20003 887 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.

Medlem sedan juni 20022 599 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.

Medlem sedan dec. 20003 887 inlägg
#11

Ok, jag böjer mig ;)

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

Medlem sedan juni 20008 205 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

253 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)