Access
 sql >> база данни >  >> RDS >> Access

Въведение в обединяването на данни и връзките

Опции за обединяване на данни

Обединяване на данни и недействителност на записа

Понякога ще имате таблица, където в поле липсват някои записи. Ето пример за списък на служителите, където някои записи не посочват отдела, към който принадлежи служителят:

SELECT Employees.EmployeeNumber AS [Employee #],
       Employees.FirstName,
       Employees.LastName,
       Employees.DepartmentCode AS Department
FROM Employees;

Това ще доведе до:

Ако създадете заявка за вътрешно присъединяване на две таблици, които имат връзка и в някои записи на дъщерната таблица липсват някои стойности в колоната за външен ключ, заявката ще произведе само записите, които имат стойност. Ето един пример:

SELECT Employees.EmployeeNumber AS [Employee #],
       Employees.FirstName,
       Employees.LastName,
       Departments.DepartmentName AS Department
FROM   Departments INNER JOIN Employees
       ON Departments.DepartmentCode = Employees.DepartmentCode;

Това ще доведе до:

Забележете, че заявката произвежда по-малко записи. Както се случва, машините за бази данни не харесват нулеви записи, особено в споделени полета, полета, които участват във връзки. За да сте сигурни, че всички записи на дъщерна таблица са създадени от заявка, създайте стойност по подразбиране за записи, чиито стойности липсват. Ако връзката използва просто цяло число, създайте запис със стойността 0. Ако връзката използва низ, можете да създадете запис със стойност „N/A“. Ако записите се обработват от компютър, можете да създадете запис с обща/случайна стойност като 00000 или нещо подобно.

Практическо обучение:справяне с обединяването на данни и недействителността на записите

  1. Стартирайте Microsoft Access
  2. От ресурсите, които придружават тези уроци, отворете базата данни Altair Realtors3
  3. На лентата щракнете върху Създаване и щракнете върху Дизайн на заявка
  4. В диалоговия прозорец Показване на таблица щракнете двукратно върху Свойства и щракнете върху Затвори
  5. В списъка Properties щракнете двукратно върху PropertyNumber, City и State
  6. Превключете заявката към изглед на лист с данни:

  7. Обърнете внимание на броя на записите:48.
    Превключете заявката към изглед на дизайн
  8. Щракнете с десния бутон върху празна област в горната част на прозореца и щракнете върху Покажи таблица
  9. В диалоговия прозорец Показване на таблица щракнете двукратно върху PropertyTypes и щракнете върху Close
  10. В списъка PropertyTypes щракнете двукратно върху PropertyType

  11. Превключете заявката към изглед на лист с данни

  12. Обърнете внимание на броя на записите този път:44.
    Покажете SQL изгледа на заявката и променете кода му, както следва:
    SELECT Properties.PropertyNumber,
           Properties.City,
           Properties.State,
           Conditions.Condition
    FROM   Properties INNER JOIN Conditions
           ON Properties.Condition = Conditions.Condition;
  13. Превключете заявката към изглед на лист с данни

  14. Обърнете внимание на броя на записите:38.
    Затворете заявката, без да я записвате
  15. В навигационния екран щракнете двукратно върху формуляра PropertyTypes
  16. Създайте нов запис, както следва:
    PropertyType Описание Неизвестно Типът имот не е наличен или не е ясен. Илюстрации
  17. Затворете таблицата PropertyTypes
  18. В навигационния екран щракнете двукратно върху формуляра за условия
  19. Създайте нов запис, както следва:
    PropertyType Описание Неизвестно Текущото състояние или външен вид (вътрешен и/или екстериор) на имота не е проверен, не е оценен или не е ясно известен.
  20. Затворете таблицата с условия
  21. В навигационния екран щракнете с десния бутон върху таблицата Properties и щракнете върху Design View
  22. В горната част на прозореца щракнете върху PropertyType
  23. В долната част щракнете върху Стойност по подразбиране и въведете Неизвестно
  24. В горната част на прозореца щракнете върху Условие
  25. В долната част щракнете върху Стойност по подразбиране и въведете Неизвестно
  26. Запазете таблицата и я превключете към изглед на лист с данни
  27. В колоната PropertyType за всяка празна клетка изберете Unknown
  28. В колоната Условие за всяка празна клетка изберете Неизвестно
  29. Забележете, че има стойност по подразбиране както за PropertyType, така и за колоните Condition
  30. Като зададете само посочените стойности, създайте нови записи, както следва:
    Свойство № Тип собственост Град Щат Пощенски код Спални Бани Завършено мазе Вътрешен гараж Състояние Пазарна стойност 476005 Single Family Hanover PA 17331 3 2,50 Проверено 425790 152466 Martinsburg WV 1 1.00 135670 427048 Condominium Alexandria VA 3 2.00 Нуждае се от ремонт 622845 297427 Matinsburg Отличен 729336 Harbour VA 3 5 05 05 2011 Проверено Добра форма 515885

  31. Затворете таблицата
  32. На лентата щракнете върху Създаване и щракнете върху Дизайн на заявка
  33. В диалоговия прозорец Показване на таблица щракнете двукратно върху Свойства и щракнете върху Затвори
  34. В списъка Properties щракнете двукратно върху PropertyNumber, City и State
  35. Превключете заявката към изглед на лист с данни
  36. Обърнете внимание на броя на записите:51.
    Превключете заявката към изглед на дизайн
  37. Щракнете с десния бутон върху празна област в горната част на прозореца и щракнете върху Покажи таблица
  38. В диалоговия прозорец Показване на таблица щракнете двукратно върху PropertyTypes и щракнете върху Close
  39. В списъка PropertyTypes плъзнете PropertyType и го пуснете върху град в долната страна
  40. В списъка с свойства щракнете двукратно върху Спални и бани

  41. Превключете заявката към изглед на лист с данни

  42. Забележете броя на записите този път:51.
    Затворете заявката, без да я записвате
  43. Отворете базата данни Lambda Square Apartments1, създадена и използвана по-рано
  44. На лентата щракнете върху Създаване и щракнете върху Дизайн на заявка
  45. В диалоговия прозорец Показване на таблицата щракнете двукратно върху Плащания и щракнете върху Затвори
  46. В списъка с плащания щракнете двукратно върху ReceiptNumber, PaymentDate, ProcessedBy, RegistrationNumber и PaymentAmount
  47. Превключете заявката към изглед на лист с данни

  48. Обърнете внимание на броя на записите:63.
    Превключете заявката към изглед на дизайн
  49. Щракнете с десния бутон върху празна област в прозореца и щракнете върху Покажи таблица...
  50. В диалоговия прозорец Показване на таблица щракнете двукратно върху Служители и щракнете върху Затвори
  51. Плъзнете EmployeeNumber и го пуснете върху ProcessedBy
  52. В долната страна на прозореца заменете ProcessedBy с
    Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"

  53. Превключете заявката към изглед на лист с данни

  54. Обърнете внимание на броя на записите:46.
    Затворете заявката, без да я записвате
  55. В навигационния панел щракнете двукратно върху таблицата Служители и създайте нов запис, както следва (това е за транзакции, извършени в банката, като например наемател, който депозира пари от наем директно в банката):
    Номер на служителя Име Фамилия Заглавие 00000 Автоматична обработка на електронна транзакция
  56. Затворете таблицата за служители
  57. В навигационния екран щракнете с десния бутон върху таблицата Плащания и щракнете върху Изглед на дизайн
  58. В горната част на прозореца щракнете върху Обработено от
  59. В долната част щракнете върху Стойност по подразбиране и въведете „00000“
  60. Запазете и затворете таблицата
  61. Отворете таблицата за плащания
  62. В колоната ProcessedBy във всяка празна клетка въведете 00000
  63. Затворете таблицата за плащания
  64. На лентата щракнете върху Създаване и щракнете върху Дизайн на заявка
  65. В диалоговия прозорец Показване на таблица щракнете двукратно върху Плащания и служители
  66. Щракнете върху Close
  67. Плъзнете EmployeeNumber и го пуснете върху ProcessedBy
  68. В списъка с плащания щракнете двукратно върху ReceiptNumber и PaymentDate
  69. Натиснете Tab и въведете
    Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
  70. В списъка с плащания щракнете двукратно върху RegistrationNumber и PaymentAmount
  71. Превключете заявката към изглед на лист с данни
  72. Обърнете внимание на броя на записите:63.
    Затворете заявката, без да я записвате

Присъединяване на повече от две маси

Досега нашите изявления за присъединяване включват само две таблици. Всъщност можете да използвате повече таблици от това. Основната формула за свързване на три таблици е:

SELECT field-name(s) FROM first-table
first-join-type second-table ON condition1
second-join-type third-table ON condition2

Започвате израза, като свързвате първата с втората таблици, което означава, че и двете таблици трябва да споделят колона в тип връзка първичен ключ-външен ключ. По същия начин можете да създадете второто присъединяване. Разбира се, втората и третата таблица трябва да имат обща колона. В повечето случаи трябва да има колона, която и трите таблици споделят. През повечето време връзката започва с колона с първичен ключ от родителската таблица. След това тази колона се представя като външен ключ в другите две таблици.

Практическо обучение:присъединяване към повече от две маси

  1. На лентата щракнете върху Създаване и щракнете върху Дизайн на формуляр
  2. В листа със свойства щракнете върху раздела Всички.
    Щракнете върху Източник на запис и щракнете върху бутона с многоточия
  3. В Показване на таблицата щракнете двукратно върху Служители, регистрации и апартаменти
  4. Щракнете върху Close
  5. Плъзнете EmployeeNumber от списъка на служителите и го пуснете в ProcessedBy в списъка с регистрации
  6. Плъзнете ApartmentCode от списъка с апартаменти и го пуснете на PropNbr в списъка с регистрации

  7. В списъка с регистрации щракнете двукратно върху RegistrationID и RegistrationDate
  8. Натиснете Tab и въведете
    Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
  9. В списъка с регистрации щракнете двукратно върху Име, Фамилия, Семейно състояние и NumberOfChildren.
  10. Натиснете Tab и напишете:
    Apartment: "Apart # " & [UnitNumber] & ", " & [Bedrooms] & " bedroom(s), " & [Bathrooms] & " bathroom(s), Rate: " & [MonthlyRate] & "/month"
  11. Показване на SQL изглед на заявката:
    SELECT Registrations.RegistrationID AS [Regist #],
           Registrations.RegistrationDate AS [Regist Date],
           [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")" AS Employee,
           Registrations.FirstName,
           Registrations.LastName,
           Registrations.MaritalSituation AS Status,
           Registrations.NumberOfChildren AS Children,
           "Apart # " & [UnitNumber] & ", " & [Bedrooms] & " bedroom(s), " & [Bathrooms] & " bathroom(s), Rate: " & [MonthlyRate] & "/month" AS Apartment
    FROM   Apartments INNER JOIN (Employees INNER JOIN Registrations
           ON Employees.EmployeeNumber = Registrations.ProcessedBy)
           ON Apartments.ApartmentCode = Registrations.PropNbr;
  12. Затворете конструктора на заявки
  13. Когато бъдете попитани дали искате да запазите промените, щракнете върху Да
  14. Запазете формуляра като Разпределение на наеми
  15. Щракнете двукратно върху бутона в пресечната точка на линийките
  16. В листа със свойства променете следните характеристики:
    Надпис:Апартаменти Lambda Square - Разпределение на наем
    Стойност по подразбиране:Непрекъснат формуляр
    Автоматичен център:Да
    Бутони за навигация:Не
  17. На лентата щракнете върху Дизайн
  18. В секцията Инструменти щракнете върху Добавяне на съществуващи полета
  19. В списъка с полета щракнете върху Апартамент, натиснете и задръжте Shift, щракнете върху Регистриране # и освободете Shift
  20. Плъзнете селекцията във формуляра
  21. На лентата щракнете върху Подреждане и щракнете върху Таблица
  22. Плъзнете селекцията наляво
  23. Натиснете Ctrl + A, за да изберете всички контроли
  24. На лентата щракнете върху Премахване на оформление
  25. Завършете дизайна на формуляра. Ето един пример:

  26. Запазете и затворете формуляра

Обединяване на данни и анализ на записи

Сортиране на записи

В обединенията на данни, които създадохме досега, ние разгледахме всички записи и оставихме на машината на базата данни да ги изброи, като използва само правилата за обединения, вградени в SQL. За да направите такъв списък по-ограничителен, можете да приложите някои условия, чрез които да изолирате някои записи. Можете да създадете визуално филтрите в изгледа за проектиране на заявка или в подобен прозорец. Можете също да създадете филтър в SQL. Както беше направено в предишни уроци, за да включите критерий в SELECT изявление, можете да създадете WHERE клауза.

Практическо обучение:Въвеждане на обединения и анализ на данни

  1. Отворете използваната по-рано база данни Monson University1
  2. За да стартирате заявка, на лентата щракнете върху Създаване и щракнете върху Дизайн на заявка
  3. В диалоговия прозорец Показване на таблица щракнете върху Затвори
  4. Щракнете с десния бутон върху горната страна на прозореца и щракнете върху SQL изглед
  5. Променете изявлението, както следва:
    SELECT EmployeeNumber AS [Employee #],
           FirstName      AS [First Name],
           LastName       AS [Last Name],
           Title,
           DepartmentName AS Department
    FROM   Employees, Departments
    WHERE  Employees.DepartmentCode = Departments.DepartmentCode
    ORDER  BY LastName;
  6. Визуализирайте резултатите в изгледа на листа с данни
  7. Ако е необходимо, на лентата щракнете върху Начало.
    Променете следните характеристики:
    Име на шрифта:Californian FB (ако нямате този шрифт, изберете Times New Roman)
    Цвят на шрифта:Син, Акцент 1, По-светъл 80% (Цветове на темата:5-та колона, 2-ри ред)
    Цвят на фона:Още цветове:Червен:195, Зелен:95, Син:15
    Линии на мрежата:хоризонтални
    Цвят на алтернативен ред:Още цветове:Червен:128, Зелен:0, Син:0

  8. Затворете заявката, без да я запазвате
  9. Затворете Microsoft Access

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Достъп с Microsoft SQL Server – Импортирайте големи набори от данни с помощта на SSIS

  2. Урок за Microsoft Access 2010, 2013, 2016 и 2019

  3. Съвети за таблица на Microsoft Access – Трикове и насоки, част 4

  4. Microsoft Access – Основите

  5. 5 грешки в дизайна на база данни, които трябва да избягвате