С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
6 / 6 / 0
Регистрация: 06.07.2010
Сообщений: 66

Присвоение пароля для входа в БД

18.10.2013, 00:20. Показов 3099. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
таблицы и связи между ними БД созданы в Microsoft SQL Server Management Studio 10.50.1600.1.

Проблема такая. для входа в БД создается окно в Делфи для ввода пользователя и пароля.
Пользователи задаются в студио в таблице Tipi_gos_organov: Загс, Нотариус, Суд, Администратор.
В другой таблице Gos_organ есть столбец Parol_dlia_vxoda_v_IS - это и есть пароль, который может иметь 2 значения
0000 либо 00000000. значение 0000 должно присваиваться Загсу, Нотариусу, Суду. Значение 00000000 должно присваиваться только Администратору.
Эти две таблицы нужно связать с тем чтобы при вводе пользователя (Rasshifrovka_koda_tipa_organa) Загс, Нотариус, Суд можно было ввести пароль только 0000. а при вводе пользователя Администратор можно было ввести только 00000000.
правильно ли у меня написан код ? я спрашивала на другом форуме, там я не поняла что неправильно. подскажите плиз

T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
USE new48;
    
CREATE TABLE Tipi_gos_organov (Kod_tipa_organa INT NOT NULL,
     Rasshifrovka_koda_tipa_organa VARCHAR (100) NULL,
     CONSTRAINT prim_tipi PRIMARY KEY (Kod_tipa_organa));
 
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(1, 'Загс');
 
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(2, 'Нотариус');
     
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(3, 'Суд');
 
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(4, 'Администратор');
 
CREATE TABLE Tip_documenta (Kod_tipa_documenta INT IDENTITY(1,1) NOT NULL,
     Kod_tipa_organa INT NULL,
     Tip_documenta VARCHAR (100) NULL,
     CONSTRAINT prim_tip PRIMARY KEY (Kod_tipa_documenta),
     CONSTRAINT foreign_Tip_documenta FOREIGN KEY(Kod_tipa_organa)
     REFERENCES Tipi_gos_organov (Kod_tipa_organa));
          
INSERT Tip_documenta
(Tip_documenta) 
VALUES
('Паспорт'); 
 
CREATE TABLE Gos_organ (Kod_organa INT IDENTITY(1,1) NOT NULL,
     Kod_tipa_organa INT NULL,
     Naimenovanie_organa VARCHAR (100) NULL,
     FIO_podpisanta VARCHAR (100) NULL,
     Parol_dlia_vxoda_v_IS VARCHAR (8) NULL,
     CONSTRAINT prim_Gos_organ PRIMARY KEY (Kod_organa),
     CONSTRAINT foreign_Gos_organ FOREIGN KEY(Kod_tipa_organa)
     REFERENCES Tipi_gos_organov (Kod_tipa_organa));
          
INSERT Gos_organ
(Naimenovanie_organa, FIO_podpisanta)
VALUES
('Гагаринский отдел ЗАГС', 'Васильева Мария Сергеевна');
 
update Gos_organ 
set Gos_organ.Parol_dlia_vxoda_v_IS = '0000'
FROM Gos_organ
join Tipi_gos_organov on Gos_organ.Kod_organa=Tipi_gos_organov.Kod_tipa_organa
where Tipi_gos_organov.Kod_tipa_organa = 1 AND Tipi_gos_organov.Kod_tipa_organa = 2 AND Tipi_gos_organov.Kod_tipa_organa = 3;
 
update Gos_organ 
set Gos_organ.Parol_dlia_vxoda_v_IS = '00000000'
FROM Gos_organ
join Tipi_gos_organov on Gos_organ.Kod_organa=Tipi_gos_organov.Kod_tipa_organa
where Tipi_gos_organov.Kod_tipa_organa = 4;
это полный код:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
USE new48;
    
CREATE TABLE Tipi_gos_organov (Kod_tipa_organa INT NOT NULL,
     Rasshifrovka_koda_tipa_organa VARCHAR (100) NULL,
     CONSTRAINT prim_tipi PRIMARY KEY (Kod_tipa_organa));
 
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(1, 'Загс');
 
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(2, 'Нотариус');
     
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(3, 'Суд');
 
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(4, 'Администратор');
 
CREATE TABLE Tip_documenta (Kod_tipa_documenta INT IDENTITY(1,1) NOT NULL,
     Kod_tipa_organa INT NULL,
     Tip_documenta VARCHAR (100) NULL,
     CONSTRAINT prim_tip PRIMARY KEY (Kod_tipa_documenta),
     CONSTRAINT foreign_Tip_documenta FOREIGN KEY(Kod_tipa_organa)
     REFERENCES Tipi_gos_organov (Kod_tipa_organa));
          
INSERT Tip_documenta
(Tip_documenta) 
VALUES
('Паспорт'); 
 
CREATE TABLE Gos_organ (Kod_organa INT IDENTITY(1,1) NOT NULL,
     Kod_tipa_organa INT NULL,
     Naimenovanie_organa VARCHAR (100) NULL,
     FIO_podpisanta VARCHAR (100) NULL,
     Parol_dlia_vxoda_v_IS VARCHAR (8) NULL,
     CONSTRAINT prim_Gos_organ PRIMARY KEY (Kod_organa),
     CONSTRAINT foreign_Gos_organ FOREIGN KEY(Kod_tipa_organa)
     REFERENCES Tipi_gos_organov (Kod_tipa_organa));
          
INSERT Gos_organ
(Naimenovanie_organa, FIO_podpisanta)
VALUES
('Гагаринский отдел ЗАГС', 'Васильева Мария Сергеевна');
 
update Gos_organ 
set Gos_organ.Parol_dlia_vxoda_v_IS = '0000'
FROM Gos_organ
join Tipi_gos_organov on Gos_organ.Kod_organa=Tipi_gos_organov.Kod_tipa_organa
where Tipi_gos_organov.Kod_tipa_organa = 1 AND Tipi_gos_organov.Kod_tipa_organa = 2 AND Tipi_gos_organov.Kod_tipa_organa = 3;
 
update Gos_organ 
set Gos_organ.Parol_dlia_vxoda_v_IS = '00000000'
FROM Gos_organ
join Tipi_gos_organov on Gos_organ.Kod_organa=Tipi_gos_organov.Kod_tipa_organa
where Tipi_gos_organov.Kod_tipa_organa = 4;
 
CREATE TABLE Documenti (Kod_documenta INT IDENTITY(1,1) NOT NULL,
Kod_organa INT NULL,
Kod_tipa_documenta INT NULL,
Naimenovanie_documenta VARCHAR (100) NULL,
Data_sozdania DATETIME NULL,
Seria VARCHAR (20) NULL,
Nomer INT NULL,
Tekstovoe_sodergimoe VARCHAR (100) NULL,
CONSTRAINT prim_Documenti PRIMARY KEY (Kod_documenta),
CONSTRAINT foreign1_Documenti FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa),
CONSTRAINT foreign2_Documenti FOREIGN KEY(Kod_tipa_documenta)
REFERENCES Tip_documenta (Kod_tipa_documenta));
 
INSERT Documenti
(Naimenovanie_documenta, Data_sozdania, Seria, Nomer, Tekstovoe_sodergimoe)
VALUES
('Свидетельство о бракосочетании Иванов Иван Иванович',Convert(DateTime,'20080813',112), 'СБ', 1, 'Свидетельство о бракосочетании: Иванов И.И.');
 
CREATE TABLE Fizicheskie_lica (Kod INT IDENTITY(1,1) NOT NULL,
     FIO VARCHAR (100) NULL,
     Data_rogdenia DATETIME NULL,
     Data_smerti DATETIME NULL,
     Pasportnie_dannie VARCHAR (100) NULL,
     CONSTRAINT prim_fizich PRIMARY KEY (Kod));
         
INSERT Fizicheskie_lica
(FIO, Data_rogdenia, Data_smerti, Pasportnie_dannie)
VALUES
('Иванов Иван Иванович', 1952-03-14, 2013-09-01, 'Паспорт 47 00 456343 от 15/02/1966');
 
CREATE TABLE Dela_o_nasledstve (Kod_dela INT IDENTITY(1,1) NOT NULL,
     Kod INT NULL,
     Kod_organa INT NULL,
     Data_dela DATETIME NULL,
     Nomer_dela VARCHAR (20) NULL,
     Elektronnaya_podpis_0_ili_1 INT NULL,
     CONSTRAINT prim_Dela_o_nasledstve PRIMARY KEY (Kod_dela),
     CONSTRAINT foreign1_Dela_o_nasledstve FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod),
     CONSTRAINT foreign2_Dela_o_nasledstve FOREIGN KEY(Kod_organa)
     REFERENCES Gos_organ (Kod_organa));
     
INSERT Dela_o_nasledstve
(Data_dela, Nomer_dela, Elektronnaya_podpis_0_ili_1)
VALUES
(2013-09-18, 'ДЛ-0001', 0);
  
INSERT Dela_o_nasledstve
(Elektronnaya_podpis_0_ili_1)
VALUES
(1);
 
CREATE TABLE Documenti_podtvergdaiuchie_nasledovanie (Kod_documenta_podtvergdaiuchego_nasledovanie INT IDENTITY(1,1) NOT NULL,
     Kod_dela INT NULL,
     Kod_documenta INT NULL,
     Kod_organa INT NULL,
     CONSTRAINT prim_Documenti_podtvergdaiuchie_nasledovanie PRIMARY KEY (Kod_documenta_podtvergdaiuchego_nasledovanie),
     CONSTRAINT foreign1_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_dela)
     REFERENCES Dela_o_nasledstve (Kod_dela),
     CONSTRAINT foreign2_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_documenta)
     REFERENCES Documenti (Kod_documenta),
     CONSTRAINT foreign3_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_organa)
     REFERENCES Gos_organ (Kod_organa)); 
  
CREATE TABLE Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva INT IDENTITY(1,1) NOT NULL,
     Kod_dela INT NULL,
     Kod INT NULL,
     Stepen_rodstva VARCHAR (100) NULL,
     Naimenovanie_imuchestva VARCHAR (100) NULL,
     Edinici VARCHAR (20) NULL,
     Kolichestvo INT NULL,
     Gosposhlina VARCHAR (50) NULL,
     CONSTRAINT prim_Raspredelenie_nasledstva PRIMARY KEY (Kod_raspredelenia_nasledstva),
     CONSTRAINT foreign1_Raspredelenie_nasledstva FOREIGN KEY(Kod_dela)
     REFERENCES Dela_o_nasledstve (Kod_dela),
     CONSTRAINT foreign2_Raspredelenie_nasledstva FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod));
     
INSERT Raspredelenie_nasledstva
(Stepen_rodstva, Naimenovanie_imuchestva, Edinici, Kolichestvo, Gosposhlina) 
VALUES
('Дочь', 'квартира ул.Тверская,д.10,кв.36', 'кв.м', 80, '1000р.');  
 
CREATE TABLE Delo_o_nasledovanii_i_raspredelenie_imuchestva (Kod_dela_o_nasledovanii INT IDENTITY(1,1) NOT NULL,
     Kod INT NULL,
     Kod_raspredelenia_nasledstva INT NULL,
     CONSTRAINT prim_Delo_o_nasledovanii_i_raspredelenie_imuchestva PRIMARY KEY (Kod_dela_o_nasledovanii),
     CONSTRAINT foreign1_Delo_o_nasledovanii_i_raspredelenie_imuchestva FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod),
     CONSTRAINT foreign2_Delo_o_nasledovanii_i_raspredelenie_imuchestva FOREIGN KEY(Kod_raspredelenia_nasledstva)
     REFERENCES Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva)); 
 
CREATE TABLE Zavechania (Kod_zavechania INT IDENTITY(1,1) NOT NULL,
     Kod_organa INT NULL,
     Kod INT NULL,
     Opisanie_zavechania VARCHAR (100) NULL,
     Data_sozdania DATETIME NULL,
     CONSTRAINT prim_zavech PRIMARY KEY (Kod_zavechania),
     CONSTRAINT foreign1_Zavechania FOREIGN KEY(Kod_organa)
     REFERENCES Gos_organ (Kod_organa),
     CONSTRAINT foreign2_Zavechania FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod));
     
INSERT Zavechania
(Opisanie_zavechania, Data_sozdania)
VALUES
('Завещание Иванова И.И. на имущество', Convert(DateTime,'20130909',112));
 
CREATE TABLE Punkti_zavechania (Kod_punkta_zavechania INT IDENTITY(1,1) NOT NULL,
     Kod_zavechania INT NULL,
     Kod INT NULL,
     Opisanie_imuchestva VARCHAR (100) NULL,
     Edinici VARCHAR (20) NULL,
     Kolichestvo INT NULL,
     CONSTRAINT prim_Punkti PRIMARY KEY (Kod_punkta_zavechania),
     CONSTRAINT foreign1_Punkti_zavechania FOREIGN KEY(Kod_zavechania)
     REFERENCES Zavechania (Kod_zavechania),
     CONSTRAINT foreign2_Punkti_zavechania FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod));
 
INSERT Punkti_zavechania 
(Opisanie_imuchestva, Edinici, Kolichestvo) 
VALUES
('квартира ул.Тверская,д.10,кв.36', 'кв.м', 80);  
 
GO
CREATE VIEW Docview
AS
  SELECT
           td.Kod_tipa_documenta,
           td.Tip_documenta,
           doc.Kod_documenta,
           doc.Naimenovanie_documenta,
           doc.Data_sozdania,
           doc.Seria,
           doc.Nomer,
           doc.Tekstovoe_sodergimoe,
           gos.Kod_organa,
           gos.Naimenovanie_organa,
           gos.FIO_podpisanta,
           tgos.Kod_tipa_organa,
           tgos.Rasshifrovka_koda_tipa_organa
FROM Tip_documenta td JOIN Documenti doc ON td.Kod_tipa_documenta = doc.Kod_tipa_documenta
join Gos_organ gos on doc.Kod_organa=gos.Kod_organa
join Tipi_gos_organov tgos on gos.Kod_tipa_organa=tgos.Kod_tipa_organa
GO
CREATE VIEW OrganView
AS
  SELECT
           gos.Kod_organa,
           gos.Naimenovanie_organa,
           gos.FIO_podpisanta,
           gos.Parol_dlia_vxoda_v_IS,
           tgos.Kod_tipa_organa,
           tgos.Rasshifrovka_koda_tipa_organa
FROM Gos_organ gos JOIN Tipi_gos_organov tgos ON gos.Kod_tipa_organa = tgos.Kod_tipa_organa
GO
CREATE VIEW WillView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Zavech.Kod_zavechania,
Zavech.Opisanie_zavechania,
Zavech.Data_sozdania,
gos.Kod_organa,
gos.Naimenovanie_organa
FROM Fizicheskie_lica Fizich JOIN Zavechania Zavech ON Fizich.Kod = Zavech.Kod
join Gos_organ gos on Zavech.Kod_organa=gos.Kod_organa
GO
CREATE VIEW WillItemsView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Punkti.Kod_punkta_zavechania,
Punkti.Opisanie_imuchestva,
Punkti.Edinici,
Punkti.Kolichestvo,
Zavech.Kod_zavechania
FROM Fizicheskie_lica Fizich JOIN Punkti_zavechania Punkti ON Fizich.Kod = Punkti.Kod
join Zavechania Zavech on Punkti.Kod_zavechania=Zavech.Kod_zavechania
GO
CREATE VIEW HeritageView
AS
SELECT
tgos.Kod_tipa_organa,
tgos.Rasshifrovka_koda_tipa_organa,
gos.Kod_organa,
gos.Naimenovanie_organa,
gos.FIO_podpisanta,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela,
Dela.Elektronnaya_podpis_0_ili_1,
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Fizich.Pasportnie_dannie
FROM Tipi_gos_organov tgos JOIN Gos_organ gos ON tgos.Kod_tipa_organa = gos.Kod_tipa_organa
join Dela_o_nasledstve Dela on gos.Kod_organa=Dela.Kod_organa
join Fizicheskie_lica Fizich on Dela.Kod=Fizich.Kod
GO
CREATE VIEW HeritageItemsView
AS
SELECT
raspred.Kod_raspredelenia_nasledstva,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina,
Fizich.Kod,
Fizich.FIO,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Raspredelenie_nasledstva raspred JOIN Fizicheskie_lica fizich ON raspred.Kod = fizich.Kod
join Dela_o_nasledstve Dela on raspred.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW HeritageDoc
AS
SELECT
Docview.Naimenovanie_organa,
Docview.Kod_tipa_organa,
Docview.Naimenovanie_documenta,
Docview.Data_sozdania,
Docview.Seria,
Docview.Nomer,
Docview.Tekstovoe_sodergimoe,
Docview.Tip_documenta,
Docview.FIO_podpisanta,
Docum.Kod_documenta_podtvergdaiuchego_nasledovanie,
Docum.Kod_documenta,
Docum.Kod_organa,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Docview JOIN Documenti_podtvergdaiuchie_nasledovanie Docum ON Docview.Kod_documenta = Docum.Kod_documenta
join Dela_o_nasledstve Dela on Docum.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW PrintingformView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Pasportnie_dannie,
raspred.Kod_raspredelenia_nasledstva,
raspred.Kod_dela,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina
FROM Fizicheskie_lica Fizich JOIN Raspredelenie_nasledstva raspred ON Fizich.Kod = raspred.Kod
GO
Добавлено через 10 часов 42 минуты
хоть ктонибудь...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2013, 00:20
Ответы с готовыми решениями:

Сброс пароля для входа
Всем привет. Время учёбы подходит к концу, нужно начинать делать лабораторные :D Решил зайти в mysql и поделал практические, но забыл...

Восстановление пароля для входа в админку
Здравствуйте! Пожалуйста, научите, как восстановить пароль для входа в админку на сайт. Как и где это можно сделать? Говорят, что около...

Смена пароля для входа в форму
Есть таблица "Группы пользователей" в ней столбец "код", "имя пользователя" и "пароль" В форме есть поле со списком "user"...

20
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
18.10.2013, 04:38
Как бы не совсем оптимальный подход.

Самодельная авторизация - это, конечно, интересно, но гораздо лучше пользоваться встроенной авторизацией винды или SQL Сервера. К тому же если речь идёт о данных, касающихся судебных данных. Эта часть написана до нас и отлаживалась лет 20...

Нужно создавать роли для суда, загса итд средствами SQL Server и назначать эти роли конкретным учётным записям или группам учётных записей (имядомена/судьясидоров, имядомена/администраторы).

Так гораздо проще и ещё время останется на реализацию предметной области.
0
6 / 6 / 0
Регистрация: 06.07.2010
Сообщений: 66
18.10.2013, 14:17  [ТС]
Цитата Сообщение от ksk Посмотреть сообщение
Как бы не совсем оптимальный подход.

Самодельная авторизация - это, конечно, интересно, но гораздо лучше пользоваться встроенной авторизацией винды или SQL Сервера. К тому же если речь идёт о данных, касающихся судебных данных. Эта часть написана до нас и отлаживалась лет 20...

Нужно создавать роли для суда, загса итд средствами SQL Server и назначать эти роли конкретным учётным записям или группам учётных записей (имядомена/судьясидоров, имядомена/администраторы).

Так гораздо проще и ещё время останется на реализацию предметной области.
я это все прекрасно понимаю про имя домена. имена входа в БД создаются в БД для суда нотариуса и админа, но это для входа в БД и для строки подключения - соединения с программой. А данном случае вход в программу должен быть запаролен. и речь идет о входе в программу.
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
18.10.2013, 15:51
Цитата Сообщение от oppsa Посмотреть сообщение
и речь идет о входе в программу.
Вход должен быть один - на машину пользователя. Соединение с сервером должно быть по Win-аутентификации. Программа при старте должна запрашивать информацию о текущем контексте безопасности и в соответствии с ним настраивать интерфейс.
0
6 / 6 / 0
Регистрация: 06.07.2010
Сообщений: 66
18.10.2013, 16:22  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Вход должен быть один - на машину пользователя. Соединение с сервером должно быть по Win-аутентификации. Программа при старте должна запрашивать информацию о текущем контексте безопасности и в соответствии с ним настраивать интерфейс.
вход должен быть один для разработчика БД или админа, но это не значит что невозможно сделать несколько входов. соединение с сервером происходит по проверке подлинности SQL serverчто обеспечивает большую безопасность чем по win аутентификации. речь в посте идет не об этом а о пароле пользователей которые пользуются непосредственно программой. окно для ввода пользователя создается при разработке самой программы.
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
18.10.2013, 16:36
Цитата Сообщение от oppsa Посмотреть сообщение
проверке подлинности SQL serverчто обеспечивает большую безопасность чем по win аутентификации
где-то пробегало, что дело обстоит с точностью до наоборот
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
18.10.2013, 17:08
Цитата Сообщение от oppsa Посмотреть сообщение
вход должен быть один для разработчика БД или админа, но это не значит что невозможно сделать несколько входов.
Сами поняли свою мысль?
Цитата Сообщение от oppsa Посмотреть сообщение
соединение с сервером происходит по проверке подлинности SQL serverчто обеспечивает большую безопасность чем по win аутентификации
За счет чего?
Цитата Сообщение от oppsa Посмотреть сообщение
речь в посте идет не об этом а о пароле пользователей которые пользуются непосредственно программой.
Поясните, зачем это нужно?
0
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
18.10.2013, 18:52
Можно в крайнем случае сделать для юзеров логины на SQL сервере.
Со средствами проверки безопасности SQL сервера.
Если у Вас украдут пароли, которые Вы храните в базе, то отвечать не укравшим, а Вам, ибо плохо лежало.

Таки мы Вас предупредили об опасности, а дальше дело Ваше.
0
6 / 6 / 0
Регистрация: 06.07.2010
Сообщений: 66
18.10.2013, 19:19  [ТС]
Цитата Сообщение от ksk Посмотреть сообщение
Можно в крайнем случае сделать для юзеров логины на SQL сервере.
Со средствами проверки безопасности SQL сервера.
Если у Вас украдут пароли, которые Вы храните в базе, то отвечать не укравшим, а Вам, ибо плохо лежало.

Таки мы Вас предупредили об опасности, а дальше дело Ваше.
да именно так. для юзеров делаются логины на сервере. я об этом все знаю. моя проблема не в этом, а в том что сейчас мне в самой программе нужно настроить пароль для входа в программу средствами studio и проблематика и код изложены.

Добавлено через 3 минуты
Цитата Сообщение от invm Посмотреть сообщение

Цитата Сообщение от oppsa Посмотреть сообщение
вход должен быть один для разработчика БД или админа, но это не значит что невозможно сделать несколько входов.
Сами поняли свою мысль?
Цитата Сообщение от oppsa Посмотреть сообщение
соединение с сервером происходит по проверке подлинности SQL serverчто обеспечивает большую безопасность чем по win аутентификации
За счет чего?
Цитата Сообщение от oppsa Посмотреть сообщение
речь в посте идет не об этом а о пароле пользователей которые пользуются непосредственно программой.
Поясните, зачем это нужно?
вы находились на другом форуме и комментили мой пост таких вопросов не возникало, сейчас почему то он возник....
нужно это для того чтобы при входе в программу запрашивались разные пароли для разных пользователей.
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
18.10.2013, 19:44
Цитата Сообщение от oppsa Посмотреть сообщение
вы находились на другом форуме и комментили мой пост таких вопросов не возникало
Справедливости ради, я там ничего не комепнтировал, а указал на неправильность создания FK.
Цитата Сообщение от oppsa Посмотреть сообщение
нужно это для того чтобы при входе в программу запрашивались разные пароли для разных пользователей.
Это не ответ на вопрос "зачем программе свой собственный пароль?".

Впрочем, зная по опыту, что никакими аргументами вас прошибить невозможно, считаю, что дискутировать дальше бессмысленно. Делайте как хотите.
1
6 / 6 / 0
Регистрация: 06.07.2010
Сообщений: 66
18.10.2013, 20:57  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Справедливости ради, я там ничего не комепнтировал, а указал на неправильность создания FK.
это мне очень помогло, я очень вам благодарна. потому что я в результате переделала FK и это оказалось правильнО, спасибо вам. сейчас я доконца не могу понять что неправильно в коде относительно пароля 0000 и 0000000

Это не ответ на вопрос "зачем программе свой собственный пароль?".

Цитата Сообщение от invm Посмотреть сообщение
Впрочем, зная по опыту, что никакими аргументами вас прошибить невозможно, считаю, что дискутировать дальше бессмысленно. Делайте как хотите.
так это не только мое мнение что этот пароль нужен, не только я так считаю, поверьте.
и я не на эту тему поднимала дискуссию а просила людей которые разбираются указать на ошибку, только и всего.
0
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
18.10.2013, 22:16
Если я правильно понял, оно не работало, потому что не задан Kod_organa в т.Gos_organ
Я бы его NOT NULL сделал, чтобы сервер сам заботился о связности и генерил бы ошибку в случае незаданности этого поля..

Если бы он был задан, то запросы update Gos_organ... проставили бы Parol_dlia_vxoda_v_IS.

Добавлено через 3 минуты
по идее можно триггер написать, котроый будет этот update делать при добавлении записей и при смене кода органа
0
6 / 6 / 0
Регистрация: 06.07.2010
Сообщений: 66
18.10.2013, 23:54  [ТС]
Цитата Сообщение от ksk Посмотреть сообщение
Если я правильно понял, оно не работало, потому что не задан Kod_organa в т.Gos_organ
Я бы его NOT NULL сделал, чтобы сервер сам заботился о связности и генерил бы ошибку в случае незаданности этого поля..

Если бы он был задан, то запросы update Gos_organ... проставили бы Parol_dlia_vxoda_v_IS.

Добавлено через 3 минуты
по идее можно триггер написать, котроый будет этот update делать при добавлении записей и при смене кода органа
нет. Kod_organa как раз в Gos_organ сделан NOT NULL и свойством identity он автоматом увеличивается по мере добавления строк в таблицу, насколько я понимаю.
0
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
19.10.2013, 01:35
я не то имя поля скопипастил.
Kod_tipa_organa имелся в виду.

SELECT * FROM Gos_organ
Kod_organa Kod_tipa_organa Naimenovanie_organa FIO_podpisanta Parol_dlia_vxoda_v_IS
1 NULL Гагаринский отдел ЗАГС Васильева Мария Сергеевна NULL
0
6 / 6 / 0
Регистрация: 06.07.2010
Сообщений: 66
19.10.2013, 13:10  [ТС]
Цитата Сообщение от ksk Посмотреть сообщение
я не то имя поля скопипастил.
Kod_tipa_organa имелся в виду.

SELECT * FROM Gos_organ
Kod_organa Kod_tipa_organa Naimenovanie_organa FIO_podpisanta Parol_dlia_vxoda_v_IS
1 NULL Гагаринский отдел ЗАГС Васильева Мария Сергеевна NULL
я не поняла куда select вставлять и для чего?
Kod_tipa_organa задан NOT NULL как раз и его всего 4 значения: 1,2,3,4 которые уже вставлены в таблицу Tipi_gos_organov
0
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
19.10.2013, 13:46
Селект из таблички показал я, чтобы вы увидели, что в ней Kod_tipa_organa равен NULL
Как бы я вашим скриптом базу сформировал и посмотрел, что там как.
0
6 / 6 / 0
Регистрация: 06.07.2010
Сообщений: 66
19.10.2013, 14:15  [ТС]
Цитата Сообщение от ksk Посмотреть сообщение
Селект из таблички показал я, чтобы вы увидели, что в ней Kod_tipa_organa равен NULL
Как бы я вашим скриптом базу сформировал и посмотрел, что там как.
да именно в таблице Gos_organ Kod_tipa_organa равен NULL потому что studio потребовала чтобы в этой таблице он был равен нулю, а так он в таблице Kod_tipa_organa равен NOT NULL потому что PK не может быть равен NULL по определению. когда в таблице Gos_organ Kod_tipa_organa ставлю равен NULL студио сразу выдает ошибку что нельзя присваивать этому столбцу значение NOT NULL.
0
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
19.10.2013, 17:46
Потому что в таблице уже были данные, не соответствующие правилам индекса.
Сначала создаются таблицы
Потом создаются индексы
Потом вставляют данные.

Если нужно создать индекс после вставки данных, нужно сначала привесит данные к виду, непротиворечащему создаваемому индексу.
0
6 / 6 / 0
Регистрация: 06.07.2010
Сообщений: 66
19.10.2013, 21:16  [ТС]
все переделала как надо.
основной скрипт

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
USE new49;
    
CREATE TABLE Tipi_gos_organov (Kod_tipa_organa INT NOT NULL,
     Rasshifrovka_koda_tipa_organa VARCHAR (100) NULL,
     CONSTRAINT prim_tipi PRIMARY KEY (Kod_tipa_organa));
 
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(1, 'Загс');
 
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(2, 'Нотариус');
     
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(3, 'Суд');
 
INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)     
VALUES
(4, 'Администратор');
 
CREATE TABLE Tip_documenta (Kod_tipa_documenta INT IDENTITY(1,1) NOT NULL,
     Kod_tipa_organa INT NULL,
     Tip_documenta VARCHAR (100) NULL,
     CONSTRAINT prim_tip PRIMARY KEY (Kod_tipa_documenta),
     CONSTRAINT foreign_Tip_documenta FOREIGN KEY(Kod_tipa_organa)
     REFERENCES Tipi_gos_organov (Kod_tipa_organa));
          
INSERT Tip_documenta
(Tip_documenta) 
VALUES
('Паспорт'); 
 
CREATE TABLE Gos_organ (Kod_organa INT IDENTITY(1,1) NOT NULL,
     Kod_tipa_organa INT NULL,
     Naimenovanie_organa VARCHAR (100) NULL,
     FIO_podpisanta VARCHAR (100) NULL,
     Parol_dlia_vxoda_v_IS VARCHAR (8) NULL,
     CONSTRAINT prim_Gos_organ PRIMARY KEY (Kod_organa),
     CONSTRAINT foreign_Gos_organ FOREIGN KEY(Kod_tipa_organa)
     REFERENCES Tipi_gos_organov (Kod_tipa_organa));
          
INSERT Gos_organ
(Naimenovanie_organa, FIO_podpisanta)
VALUES
('Гагаринский отдел ЗАГС', 'Васильева Мария Сергеевна');
 
CREATE TABLE Documenti (Kod_documenta INT IDENTITY(1,1) NOT NULL,
Kod_organa INT NULL,
Kod_tipa_documenta INT NULL,
Naimenovanie_documenta VARCHAR (100) NULL,
Data_sozdania DATETIME NULL,
Seria VARCHAR (20) NULL,
Nomer INT NULL,
Tekstovoe_sodergimoe VARCHAR (100) NULL,
CONSTRAINT prim_Documenti PRIMARY KEY (Kod_documenta),
CONSTRAINT foreign1_Documenti FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa),
CONSTRAINT foreign2_Documenti FOREIGN KEY(Kod_tipa_documenta)
REFERENCES Tip_documenta (Kod_tipa_documenta));
 
INSERT Documenti
(Naimenovanie_documenta, Data_sozdania, Seria, Nomer, Tekstovoe_sodergimoe)
VALUES
('Свидетельство о бракосочетании Иванов Иван Иванович',CONVERT(DateTime,'20080813',112), 'СБ', 1, 'Свидетельство о бракосочетании: Иванов И.И.');
 
CREATE TABLE Fizicheskie_lica (Kod INT IDENTITY(1,1) NOT NULL,
     FIO VARCHAR (100) NULL,
     Data_rogdenia DATETIME NULL,
     Data_smerti DATETIME NULL,
     Pasportnie_dannie VARCHAR (100) NULL,
     CONSTRAINT prim_fizich PRIMARY KEY (Kod));
         
INSERT Fizicheskie_lica
(FIO, Data_rogdenia, Data_smerti, Pasportnie_dannie)
VALUES
('Иванов Иван Иванович', 1952-03-14, 2013-09-01, 'Паспорт 47 00 456343 от 15/02/1966');
 
CREATE TABLE Dela_o_nasledstve (Kod_dela INT IDENTITY(1,1) NOT NULL,
     Kod INT NULL,
     Kod_organa INT NULL,
     Data_dela DATETIME NULL,
     Nomer_dela VARCHAR (20) NULL,
     Elektronnaya_podpis_0_ili_1 INT NULL,
     CONSTRAINT prim_Dela_o_nasledstve PRIMARY KEY (Kod_dela),
     CONSTRAINT foreign1_Dela_o_nasledstve FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod),
     CONSTRAINT foreign2_Dela_o_nasledstve FOREIGN KEY(Kod_organa)
     REFERENCES Gos_organ (Kod_organa));
     
INSERT Dela_o_nasledstve
(Data_dela, Nomer_dela, Elektronnaya_podpis_0_ili_1)
VALUES
(2013-09-18, 'ДЛ-0001', 0);
  
INSERT Dela_o_nasledstve
(Elektronnaya_podpis_0_ili_1)
VALUES
(1);
 
CREATE TABLE Documenti_podtvergdaiuchie_nasledovanie (Kod_documenta_podtvergdaiuchego_nasledovanie INT IDENTITY(1,1) NOT NULL,
     Kod_dela INT NULL,
     Kod_documenta INT NULL,
     Kod_organa INT NULL,
     CONSTRAINT prim_Documenti_podtvergdaiuchie_nasledovanie PRIMARY KEY (Kod_documenta_podtvergdaiuchego_nasledovanie),
     CONSTRAINT foreign1_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_dela)
     REFERENCES Dela_o_nasledstve (Kod_dela),
     CONSTRAINT foreign2_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_documenta)
     REFERENCES Documenti (Kod_documenta),
     CONSTRAINT foreign3_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_organa)
     REFERENCES Gos_organ (Kod_organa)); 
  
CREATE TABLE Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva INT IDENTITY(1,1) NOT NULL,
     Kod_dela INT NULL,
     Kod INT NULL,
     Stepen_rodstva VARCHAR (100) NULL,
     Naimenovanie_imuchestva VARCHAR (100) NULL,
     Edinici VARCHAR (20) NULL,
     Kolichestvo INT NULL,
     Gosposhlina VARCHAR (50) NULL,
     CONSTRAINT prim_Raspredelenie_nasledstva PRIMARY KEY (Kod_raspredelenia_nasledstva),
     CONSTRAINT foreign1_Raspredelenie_nasledstva FOREIGN KEY(Kod_dela)
     REFERENCES Dela_o_nasledstve (Kod_dela),
     CONSTRAINT foreign2_Raspredelenie_nasledstva FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod));
     
INSERT Raspredelenie_nasledstva
(Stepen_rodstva, Naimenovanie_imuchestva, Edinici, Kolichestvo, Gosposhlina) 
VALUES
('Дочь', 'квартира ул.Тверская,д.10,кв.36', 'кв.м', 80, '1000р.');  
 
CREATE TABLE Delo_o_nasledovanii_i_raspredelenie_imuchestva (Kod_dela_o_nasledovanii INT IDENTITY(1,1) NOT NULL,
     Kod INT NULL,
     Kod_raspredelenia_nasledstva INT NULL,
     CONSTRAINT prim_Delo_o_nasledovanii_i_raspredelenie_imuchestva PRIMARY KEY (Kod_dela_o_nasledovanii),
     CONSTRAINT foreign1_Delo_o_nasledovanii_i_raspredelenie_imuchestva FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod),
     CONSTRAINT foreign2_Delo_o_nasledovanii_i_raspredelenie_imuchestva FOREIGN KEY(Kod_raspredelenia_nasledstva)
     REFERENCES Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva)); 
 
CREATE TABLE Zavechania (Kod_zavechania INT IDENTITY(1,1) NOT NULL,
     Kod_organa INT NULL,
     Kod INT NULL,
     Opisanie_zavechania VARCHAR (100) NULL,
     Data_sozdania DATETIME NULL,
     CONSTRAINT prim_zavech PRIMARY KEY (Kod_zavechania),
     CONSTRAINT foreign1_Zavechania FOREIGN KEY(Kod_organa)
     REFERENCES Gos_organ (Kod_organa),
     CONSTRAINT foreign2_Zavechania FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod));
     
INSERT Zavechania
(Opisanie_zavechania, Data_sozdania)
VALUES
('Завещание Иванова И.И. на имущество', CONVERT(DateTime,'20130909',112));
 
CREATE TABLE Punkti_zavechania (Kod_punkta_zavechania INT IDENTITY(1,1) NOT NULL,
     Kod_zavechania INT NULL,
     Kod INT NULL,
     Opisanie_imuchestva VARCHAR (100) NULL,
     Edinici VARCHAR (20) NULL,
     Kolichestvo INT NULL,
     CONSTRAINT prim_Punkti PRIMARY KEY (Kod_punkta_zavechania),
     CONSTRAINT foreign1_Punkti_zavechania FOREIGN KEY(Kod_zavechania)
     REFERENCES Zavechania (Kod_zavechania),
     CONSTRAINT foreign2_Punkti_zavechania FOREIGN KEY(Kod)
     REFERENCES Fizicheskie_lica (Kod));
 
INSERT Punkti_zavechania 
(Opisanie_imuchestva, Edinici, Kolichestvo) 
VALUES
('квартира ул.Тверская,д.10,кв.36', 'кв.м', 80);  
 
GO
CREATE VIEW Docview
AS
  SELECT
           td.Kod_tipa_documenta,
           td.Tip_documenta,
           doc.Kod_documenta,
           doc.Naimenovanie_documenta,
           doc.Data_sozdania,
           doc.Seria,
           doc.Nomer,
           doc.Tekstovoe_sodergimoe,
           gos.Kod_organa,
           gos.Naimenovanie_organa,
           gos.FIO_podpisanta,
           tgos.Kod_tipa_organa,
           tgos.Rasshifrovka_koda_tipa_organa
FROM Tip_documenta td JOIN Documenti doc ON td.Kod_tipa_documenta = doc.Kod_tipa_documenta
JOIN Gos_organ gos ON doc.Kod_organa=gos.Kod_organa
JOIN Tipi_gos_organov tgos ON gos.Kod_tipa_organa=tgos.Kod_tipa_organa
GO
CREATE VIEW OrganView
AS
  SELECT
           gos.Kod_organa,
           gos.Naimenovanie_organa,
           gos.FIO_podpisanta,
           gos.Parol_dlia_vxoda_v_IS,
           tgos.Kod_tipa_organa,
           tgos.Rasshifrovka_koda_tipa_organa
FROM Gos_organ gos JOIN Tipi_gos_organov tgos ON gos.Kod_tipa_organa = tgos.Kod_tipa_organa
GO
CREATE VIEW WillView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Zavech.Kod_zavechania,
Zavech.Opisanie_zavechania,
Zavech.Data_sozdania,
gos.Kod_organa,
gos.Naimenovanie_organa
FROM Fizicheskie_lica Fizich JOIN Zavechania Zavech ON Fizich.Kod = Zavech.Kod
JOIN Gos_organ gos ON Zavech.Kod_organa=gos.Kod_organa
GO
CREATE VIEW WillItemsView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Punkti.Kod_punkta_zavechania,
Punkti.Opisanie_imuchestva,
Punkti.Edinici,
Punkti.Kolichestvo,
Zavech.Kod_zavechania
FROM Fizicheskie_lica Fizich JOIN Punkti_zavechania Punkti ON Fizich.Kod = Punkti.Kod
JOIN Zavechania Zavech ON Punkti.Kod_zavechania=Zavech.Kod_zavechania
GO
CREATE VIEW HeritageView
AS
SELECT
tgos.Kod_tipa_organa,
tgos.Rasshifrovka_koda_tipa_organa,
gos.Kod_organa,
gos.Naimenovanie_organa,
gos.FIO_podpisanta,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela,
Dela.Elektronnaya_podpis_0_ili_1,
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Fizich.Pasportnie_dannie
FROM Tipi_gos_organov tgos JOIN Gos_organ gos ON tgos.Kod_tipa_organa = gos.Kod_tipa_organa
JOIN Dela_o_nasledstve Dela ON gos.Kod_organa=Dela.Kod_organa
JOIN Fizicheskie_lica Fizich ON Dela.Kod=Fizich.Kod
GO
CREATE VIEW HeritageItemsView
AS
SELECT
raspred.Kod_raspredelenia_nasledstva,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina,
Fizich.Kod,
Fizich.FIO,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Raspredelenie_nasledstva raspred JOIN Fizicheskie_lica fizich ON raspred.Kod = fizich.Kod
JOIN Dela_o_nasledstve Dela ON raspred.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW HeritageDoc
AS
SELECT
Docview.Naimenovanie_organa,
Docview.Kod_tipa_organa,
Docview.Naimenovanie_documenta,
Docview.Data_sozdania,
Docview.Seria,
Docview.Nomer,
Docview.Tekstovoe_sodergimoe,
Docview.Tip_documenta,
Docview.FIO_podpisanta,
Docum.Kod_documenta_podtvergdaiuchego_nasledovanie,
Docum.Kod_documenta,
Docum.Kod_organa,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Docview JOIN Documenti_podtvergdaiuchie_nasledovanie Docum ON Docview.Kod_documenta = Docum.Kod_documenta
JOIN Dela_o_nasledstve Dela ON Docum.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW PrintingformView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Pasportnie_dannie,
raspred.Kod_raspredelenia_nasledstva,
raspred.Kod_dela,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina
FROM Fizicheskie_lica Fizich JOIN Raspredelenie_nasledstva raspred ON Fizich.Kod = raspred.Kod
GO
скрипт на присвоение Kod_organa из таблицы Gos_organ соответствующего пароля

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/****** Скрипт для команды SelectTopNRows из среды SSMS  ******/
 
USE [new49]
 
--устанавливает значение идентити = 0
DBCC CHECKIDENT ('dbo.Gos_organ',RESEED,0);
 
--удаляет все данные из таблиц Gos_organ и Tipi_gos_organov
DELETE FROM   dbo.Gos_organ
 
DELETE FROM   dbo.Tipi_gos_organov
 
 
---меняет тип данных пароля на строку, так как целое число не может иметь значение 0000
 
ALTER TABLE dbo.gos_organ ALTER COLUMN Parol_dlia_vxoda_v_IS nvarchar(100)
 
---добавление строк
INSERT Tipi_gos_organov
VALUES
(1, 'Загс'),
(2, 'Нотариус'),
(3, 'Суд'),
(4, 'Администратор');
 
INSERT Gos_organ
(Naimenovanie_organa, FIO_podpisanta)
VALUES
('Гагаринский отдел ЗАГС', 'Васильева Мария Сергеевна'),
('Нотариус Реунова Н.Г', 'Реунова Надежда Григорьевна'),
('Бабушкинский районный суд', 'Краснова Лидия Дмитриевна'),
('Администратор', 'Егорова Мария Игоревна');
 
SELECT *
FROM dbo.Gos_organ
 
--обновление данных
 
UPDATE t 
SET t.Kod_tipa_organa=1
FROM dbo.Gos_organ t
WHERE t.Kod_organa=1
 
UPDATE t 
SET t.Kod_tipa_organa=2
FROM dbo.Gos_organ t
WHERE t.Kod_organa=2
 
UPDATE t 
SET t.Kod_tipa_organa=3
FROM dbo.Gos_organ t
WHERE t.Kod_organa=3
 
UPDATE t 
SET t.Kod_tipa_organa=4
FROM dbo.Gos_organ t
WHERE t.Kod_organa=4
 
---выборка из таблиц
SELECT *
FROM dbo.Gos_organ
 
SELECT *
FROM dbo.Tipi_gos_organov
 
 
--обновление данных для kod_tipa_organa
UPDATE Gos_organ 
SET Gos_organ.Parol_dlia_vxoda_v_IS = '0000'
WHERE Kod_tipa_organa=1 OR Kod_tipa_organa=2 OR Kod_tipa_organa=3
 
UPDATE Gos_organ 
SET Gos_organ.Parol_dlia_vxoda_v_IS = '00000000'
WHERE Kod_tipa_organa=4
 
--новая выборка
SELECT *
FROM dbo.Gos_organ
мне сейчас нужно написать триггер чтобы при вводе определенной Rasshifrovka_koda_tipa_organa из таблицы Tipi_gos_organov можно было ввести только пароль 0000 либо 00000000. то есть в триггере нужно сделать update Kod_tipa_organa из таблицы God_organ.

кто писал триггеры, можете попробовать?
0
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
19.10.2013, 21:50
Опять в Gos_organ не вставляем Kod_tipa_organa?
И на что обопрётся триггер?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2013, 21:50
Помогаю со студенческими работами здесь

Установка пароля для входа в и-нет
Доброго времени! Помогите установить пароль для входа в сеть(и-нет), у самого не получилось. Для инфы: подключаюсь через вай фай роутер....

Перебор пароля для входа на сайт
Помогите мне создать код для button что-бы edit1 и edit2 подходили для сайта http://educon.tsogu.ru:8081

Форма для ввода логина и пароля для входа
Имеется форма для ввода логина и пароля для входа в административный раздел сайта, файл index.php. В браузере Opera посмотрел код элемента...

Как настроить скрипт пароля для входа
Здравствуйте, подскажите как настроить скрипт пароля для входа на сайт. Есть вот такой код, где в этом коде нужно прописать свое имя и...

Форма для входа в БД с использованием пользователя и пароля
Добрый день! Опишите пошагово создание формы с помощью которой можно войти в базу используя имя пользователя и пароль


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru