Thread View: pl.comp.bazy-danych.msaccess
6 messages
6 total messages
Started by kozator2
Thu, 18 Jun 2015 08:27
zapytania SQL, a pola wielowartościowe
Author: kozator2
Date: Thu, 18 Jun 2015 08:27
Date: Thu, 18 Jun 2015 08:27
12 lines
1592 bytes
1592 bytes
Witam, mam dwie tabele Identyfikator | uprawnienie oraz Użytkownik | uprawnienia gdzie uprawnienia to pole wielowartościowe. Próbuję stworzyć zapytanie pokazujące dla konkretnego użytkownika tabelę: Identyfikator | uprawnienie gdzie uprawnienie połączone jest oczywiście z polem uprawniania dla konkretnego użytkownika. Pierwsza tabela oczywiście zasila danymi pole uprawnienia w drugiej. Jakieś pomysły?
Re: zapytania SQL, a pola wielowartościowe
Author: MaciejF
Date: Thu, 18 Jun 2015 10:14
Date: Thu, 18 Jun 2015 10:14
19 lines
1890 bytes
1890 bytes
... > Jakieś pomysły? Proszę doprecyzuj: Przy czym pole "uprawnienia" to pole wielowarościowe. Obawiam się, że tabele są źle zaprojektowane. Ale najpierw odpowiedz. Pole identyfikator powinno być wpisywane dla każdego Użytkownika. (Moim zdaniem powinno być tyle rekordów ile użytkownik ma uprawnień.) A więc Użytkownik1 identyfikator1 użytkownik1 identyfikator2 itd. MF
Re: zapytania SQL, a pola wielowartościowe
Author: Maciej Tokarz
Date: Thu, 18 Jun 2015 10:23
Date: Thu, 18 Jun 2015 10:23
36 lines
1701 bytes
1701 bytes
Użytkownik napisał w wiadomości grup
dyskusyjnych:619f0d2a-447b-4e4a-9b0d-c2e9418070f4@googlegroups.com...
> gdzie uprawnienie połączone jest oczywiście z polem uprawniania dla
> konkretnego użytkownika. Pierwsza tabela oczywiście zasila danymi pole
> uprawnienia w drugiej.
Cześć!
Mniej więcej mógłbyś zrobić taki schemat:
Users
Id
Name
PasswordHash
LastLoginDate
itp.
Roles
Id
Name
FriendlyName
UsersInRoles
UserId
RoleId
Relacje jakie zachodzą:
Users.Id => UsersInRoles.UserId
Roles.Id => UsersInRoles.RoleId
Przy takim układzie jeden użytkownik może mieć kilka roli aplikacyjnych.
M.
Re: zapytania SQL, a pola wielowartościowe
Author: kozator2
Date: Thu, 18 Jun 2015 11:43
Date: Thu, 18 Jun 2015 11:43
27 lines
2171 bytes
2171 bytes
W dniu czwartek, 18 czerwca 2015 12:14:06 UTC+2 użytkownik MaciejF napisał: > ... > > Jakieś pomysły? > > Proszę doprecyzuj: > Przy czym pole "uprawnienia" to pole wielowarościowe. > > Obawiam się, że tabele są źle zaprojektowane. > Ale najpierw odpowiedz. > > Pole identyfikator powinno być wpisywane dla każdego Użytkownika. > (Moim zdaniem powinno być tyle rekordów ile użytkownik ma uprawnień.) > > A więc > Użytkownik1 identyfikator1 > użytkownik1 identyfikator2 > > itd. > > MF W polu uprawnienia są np. odczyt, zapis itp. Każde uprawnienie ma swój ID, chodzi o to, by utworzyć tabelę: ID_uprawnienia | uprawnienie ale wypisać tylko te które ma dany użytkownik wpisane w polu wielowartościowym uprawnienia.
Re: zapytania SQL, a pola wielowartościowe
Author: kozator2
Date: Thu, 18 Jun 2015 11:46
Date: Thu, 18 Jun 2015 11:46
37 lines
2386 bytes
2386 bytes
W dniu czwartek, 18 czerwca 2015 12:23:37 UTC+2 użytkownik Maciej Tokarz napisał: > Użytkownik napisał w wiadomości grup > dyskusyjnych:619f0d2a-447b-4e4a-9b0d-c2e9418070f4@googlegroups.com... > > > gdzie uprawnienie połączone jest oczywiście z polem uprawniania dla > > konkretnego użytkownika. Pierwsza tabela oczywiście zasila danymi pole > > uprawnienia w drugiej. > > Cześć! > > Mniej więcej mógłbyś zrobić taki schemat: > > Users > Id > Name > PasswordHash > LastLoginDate > itp. > > Roles > Id > Name > FriendlyName > > UsersInRoles > UserId > RoleId > > Relacje jakie zachodzą: > Users.Id => UsersInRoles.UserId > Roles.Id => UsersInRoles.RoleId > > Przy takim układzie jeden użytkownik może mieć kilka roli aplikacyjnych. > > M. Jest to jakaś opcja, ale nie wykorzystuje już użytych pól wielowartościowych.
Re: zapytania SQL, a pola wielowartościowe
Author: Krzysztof Zatorski
Date: Thu, 18 Jun 2015 13:41
Date: Thu, 18 Jun 2015 13:41
20 lines
2304 bytes
2304 bytes
W dniu czwartek, 18 czerwca 2015 10:27:06 UTC+2 użytkownik Krzysztof Zatorski napisał: > Witam, > mam dwie tabele > Identyfikator | uprawnienie > oraz > Użytkownik | uprawnienia > > gdzie uprawnienia to pole wielowartościowe. Próbuję stworzyć zapytanie pokazujące dla konkretnego użytkownika tabelę: > Identyfikator | uprawnienie > > gdzie uprawnienie połączone jest oczywiście z polem uprawniania dla konkretnego użytkownika. Pierwsza tabela oczywiście zasila danymi pole uprawnienia w drugiej. > > Jakieś pomysły? Problem chyba rozwiązany, przykład: SELECT Uprawnienia.Identyfikator, Uprawnienia.Uprawnienie FROM Uprawnienia INNER JOIN Uzytkownicy ON Uprawnienia.Identyfikator = Uzytkownicy.Uprawnienia.Value WHERE Uzytkownicy.Uzytkownik like "Osoba" ; Access nie zapizuje nazwy uprawnienia, a jego ID, mimo, że w tabeli wyświetla nazwę, stąd zamieszanie.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads