У меня есть база данных с такой структурой, каждый раз как приходит пациент, допустим тот же самый, каждый раз приходится о нем заполнять информацию, что не очень удобно, проще сделать "карточку" пациента и добавлять в нее приемы
Я переделал вот в такую структуру
В таблице PatientsImages для хранения изображений используется filegroup-а. Вопрос заключается в следующем, как мне перенести данные,из одной структуры в другую,учитывая что в первой таблице "Patients",записи повторяются,пример ниже,а во второй структуре эти повторения нужно перенести в "приемы", я не имею большого опыта в работе с БД, не могли бы пожалуйста направить?
Id | FullName | DateOfBirth | DateOfReceipt | Menstrual
5180 | Абдиева | 13.05.1976 | 2014-05-13 | NULL
5642 | Абдиева | 13.05.1976 | 2016-03-04 | NULL
5372 | Абдиева | 13.05.1976 | 2015-03-05 | NULL
Т.к. первоначальная таблица Patients по сути представляет приемы, я бы начал с переименования ее в "Приемы" и добавил бы nullable поле PatientID, указывающее на таблицу Patients. Тогда в PatientImages ничего менять не надо - она будет указывать на новую таблицу Приемы, что нам и нужно.
На этом можно было бы и остановиться и добавить в код логику: если FullName / DateOfBirth есть в таблице "Приемы", брать оттуда, иначе - из Пациентов. Но можно пойти дальше и нормализовать данные.
Т.к. в исходной схеме пациенты никак не идентифицировались, можно идентифицировать их по фамилии и дате рождения:
INSERT INTO Patients (PatientID, FullName, DateOfBirth)
SELECT ROW_NUMBER() OVER(ORDER BY FullName, DateOfBirth) as PatientID, FullName, DateOfBirth from Receptions
GROUP BY FullName, DateOfBirth
Затем нужно заполнить поле PatientID:
UPDATE Receptions SET Receptions.PatientID=Patients.PatientID
FROM Receptions INNER JOIN Patients WHERE Receptions.PatientID=Patients.PatientID
Затем убрать флаг NULLABLE с поля Receptions.PatientID.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Дан такой массив: как мне избавится от foreach'ов чтобы не писать их оч много а просто указать длинну строки?
Приветствую всех, увы попытки найти 'велосипеды' в гугле закончились безрезультатноПроблема такова:
Всем доброго времени сутокМоя проблема заключается в следующем, как реализовать в WPF переключение между страницами используя MVVM