Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

92K
17 октября 2013 года
nutalook
1 / / 17.10.2013
таблицы и связи между ними БД созданы в 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.
правильно ли у меня написан код ? я спрашивала на другом форуме, там я не поняла что неправильно. подскажите плиз

Код:
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;
это полный код:

Код:
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
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог