Локальная сеть своими руками: Общие правила построения домашней сети и ее основные компоненты.
Зачем нужны локальные сети, и какими они бывают? Как подключить к одному интернет-каналу сразу несколько компьютерных устройств? Какое оборудование требуется для построения домашней сети? На все эти и другие не менее важные вопросы вы получите ответы в этом материале.
Оглавление
Вступление
Перед тем как вы научитесь самостоятельно конструировать и настраивать домашние локальные сети, давайте сразу ответим на самый главный вопрос: «А зачем они нужны?».
Само по себе понятие локальной сети означает объединение нескольких компьютеров или компьютерных устройств в единую систему для обмена информацией между ними, а так же совместного использования их вычислительных ресурсов и периферийного оборудования. Таким образом, локальные сети позволяют:
Обмениваться данными (фильмами, музыкой, программами, играми и прочим) между членами сети. При этом для просмотра фильмов или прослушивания музыки совершенно не обязательно записывать их к себе на жесткий диск. Скорости современных сетей позволяют это делать прямо с удаленного компьютера или мультимедийного устройства.
Подключать одновременно сразу несколько устройств к глобальной сети Интернет через один канал доступа. Наверное, это одна из самых востребованных функций локальных сетей, ведь в наши дни список оборудования, в котором может использоваться соединение с всемирной паутиной, очень велик. Помимо всевозможной компьютерной техники и мобильных устройств, теперь полноправными участниками сети стали телевизоры, DVD/Blu-Ray проигрыватели, мультимедиа плееры и даже всевозможная бытовая техника, начиная от холодильников и заканчивая кофеварками.
Совместно использовать компьютерное периферийное оборудование, такое как принтеры, МФУ, сканеры и сетевые хранилища данных (NAS).
Совместно использовать вычислительные мощности компьютеров участников сети. При работе с программами, требующих сложных вычислений, например как 3D-визуализация, для увеличения производительности и ускорения обработки данных, можно задействовать свободные ресурсы других компьютеров состоящих в сети. Таким образом, имея несколько слабых машин объединённых в локальную сеть, можно использовать их суммарную производительность для выполнения ресурсоемких задач.
Как видите, создание локальной сети даже в рамках одной квартиры, может принести немало пользы. Тем боле, что наличие дома сразу нескольких устройств, требующих подключения к интернету, уже давно не редкость и объединение их в общую сеть, является актуальной задачей для большинства пользователей.
Основные принципы построения локальной сети
Чаще всего в локальных сетях используются два основных типа передачи данных между компьютерами – по проводам, такие сети называются кабельными и используют технологию Ethernet, а так же с помощью радиосигнала по беспроводным сетям, построенных на базе стандарта IEEE 802.11, который более известен пользователям под названием Wi-Fi.
На сегодняшний день проводные сети до сих пор обеспечивают самую высокую пропускную способность, позволяя пользователям обмениваться информацией со скоростью до 100 Мбит/c (12 Мб/c) или до 1 Гбит/с (128 Мб/с) в зависимости от используемого оборудования (Fast Ethernet или Gigabit Ethernet). И хотя современные беспроводные технологии чисто теоретически тоже могут обеспечить передачу данных до 1.3 Гбит/c (стандарт Wi-Fi 802.11ac), на практике эта цифра выглядит гораздо скромнее и в большинстве случаев не превышает величину 150 – 300 Мбит/с. Виной тому служит дороговизна высокоскоростного Wi-Fi оборудования и низкий уровень его использования в нынешних мобильных устройствах.
Как правило, все современные домашние сети устроены по одному принципу: компьютеры пользователей (рабочие станции), оборудованные сетевыми адаптерами, соединяются между собой через специальные коммутационные устройства, в качестве которых могут выступать: маршрутизаторы (роутеры), коммутаторы (хабы или свитчи), точки доступа или модемы. Более подробно об их отличиях и назначениях мы поговорим ниже, а сейчас просто знайте, что без этих электронных коробочек, объединить сразу несколько компьютеров в одну систему не получится. Максимум чего можно добиться, это создать мини-сеть из двух ПК, соединив их, друг с другом.
В самом начале необходимо определить основные требования к вашей будущей сети и ее масштаб. Ведь от количества устройств, их физического размещения и возможных способов подключения, напрямую будет зависеть выбор необходимого оборудования. Чаще всего домашняя локальная сеть является комбинированной и в ее состав может входить сразу несколько типов коммутационных устройств. Например, стационарные компьютеры могут быть подключены к сети с помощью проводов, а различные мобильные устройства (ноутбуки, планшеты, смартфоны) – через Wi-Fi.
Для примера рассмотрим схему одного из возможных вариантов домашней локальной сети. В нем будут участвовать электронные устройства, предназначенные для различных целей и задач, а так же использующих разный тип подключения.
Как видно из рисунка, в единую сеть могут объединяться сразу несколько настольных компьютеров, ноутбуков, смартфонов, телевизионных приставок (IPTV), планшетов и медиаплееров и прочих устройств. Теперь давайте разбираться, какое же оборудование вам понадобится, для построения собственной сети.
Сетевая карта
Сетевая плата является устройством, позволяющим компьютерам связываться друг с другом и обмениваться данными в сети. Все сетевые адаптеры по типу можно разделить на две большие группы – проводные и беспроводные. Проводные сетевые платы позволяют подключать электронные устройства к сети с использованием технологии Ethernet при помощи кабеля, а в беспроводных сетевых адаптерах используется радио технология Wi-Fi.
Как правило, все современные настольные компьютеры уже оснащены встроенными в материнскую плату сетевыми картами Ethernet, а все мобильные устройства (смартфоны, планшеты) — сетевыми адаптерами Wi-Fi. При этом ноутбуки и ультрабуки в большинстве своем оснащаются обоими сетевыми интерфейсами сразу.
Несмотря на то, что в подавляющем большинстве случаев, компьютерные устройства имеют встроенные сетевые интерфейсы, иногда возникает необходимость в приобретении дополнительных плат, например, для оснащения системного блока беспроводным модулем связи Wi-Fi.
По своей конструктивной реализации отдельные сетевые карты делятся на две группы – внутренние и внешние. Внутренние карты предназначены для установки в настольные компьютеры с помощью интерфейсов и соответствующих им разъемов PCI и PCIe. Внешние платы подключаются через разъемы USB или устаревающие PCMCIA (только ноутбуки).
Маршрутизатор (Роутер)
Основным и самым главным компонентом домашней локальной сети является роутер или маршрутизатор – специальная коробочка, которая позволяет объединять несколько электронных устройств в единую сеть и подключать их к Интернету через один единственный канал, предоставляемый вам провайдером.
Роутер – это многофункциональное устройство или даже миникомпьютер со своей встроенной операционной системой, имеющий не менее двух сетевых интерфейсов. Первый из них — LAN (Local Area Network) или ЛВС (Локальная Вычислительная Сеть) служит для создания внутренней (домашней) сети, которая состоит из ваших компьютерных устройств. Второй – WAN (Wide Area Network) или ГВС (Глобальная Вычислительная Сеть) служит для подключения локальной сети (LAN) к другим сетям и всемирной глобальной паутине — Интернету.
Основным назначением устройств подобного типа является определение путей следования (составление маршрутов) пакетов с данными, которые пользователь посылает в другие, более крупные сети или запрашивает из них. Именно с помощью маршрутизаторов, огромные сети разбиваются на множество логических сегментов (подсети), одним из которых является домашняя локальная сеть. Таким образом, в домашних условиях основной функцией роутера можно назвать организацию перехода информации из локальной сети в глобальную, и обратно.
Еще одна важная задача маршрутизатора – ограничить доступ к вашей домашней сети из всемирной паутины. Наверняка вы вряд будете довольны, если любой желающий сможет подключаться к вашим компьютерам и брать или удалять из них все что ему заблагорассудится. Что бы этого не происходило, поток данных, предназначенный для устройств, относящихся к определенной подсети, не должен выходить за ее пределы. Поэтому, маршрутизатор из общего внутреннего трафика, создаваемого участниками локальной сети, выделяет и направляет в глобальную сеть только ту информацию, которая предназначена для других внешних подсетей. Таким образом, обеспечивается безопасность внутренних данных и сберегается общая пропускная способность сети.
Главный механизм, который позволяет роутеру ограничить или предотвратить обращение из общей сети (снаружи) к устройствам в вашей локальной сети получил название NAT (Network Address Translation). Он же обеспечивает всем пользователям домашней сети доступ к Интернету, благодаря преобразованию несколько внутренних адресов устройств в один публичный внешний адрес, который предоставляет вам поставщик услуг интернета. Все это дает возможность компьютерам домашней сети спокойно обмениваться информацией между собой и получать ее из других сетей. В то же время, данные хранящиеся в них остаются недоступными для внешних пользователей, хотя в любой момент доступ к ним может быть предоставлен по вашему желанию.
В общем, маршрутизаторы можно разделить на две большие группы — проводные и беспроводные. Уже по названиям видно, что к первым все устройства подключаются только с помощью кабелей, а ко вторым, как с помощью проводов, так и без них с использованием технологии Wi-Fi. Поэтому, в домашних условиях, чаще всего используются именно беспроводные маршрутизаторы, позволяющие обеспечивать интернетом и объединять в сеть компьютерное оборудование, использующее различные технологии связи.
Для подключения компьютерных устройств с помощью кабелей, роутер имеет специальные гнезда, называемые портами. В большинстве случаев на маршрутизаторе имеется четыре порта LAN для подсоединения ваших устройств и один WAN-порт для подключения кабеля провайдера.
Чтобы не перегружать статью избыточной информацией, детально рассматривать основные технические характеристики роутеров в этой главе мы не будем, о них я расскажу в отдельном материале, посещённому выбору маршрутизатора.
Во многих случаях, роутер может оказаться единственным компонентом, необходимым для построения собственной локальной сети, так как в остальных попросту не будет нужды. Как мы уже говорили, даже самый простой маршрутизатор позволяет при помощи проводов подключить до четырех компьютерных устройств. Ну а количество оборудования, получающего одновременный доступ к сети с помощью технологии Wi-Fi, может и вовсе исчисляться десятками, а то и сотнями.
Если все же в какой-то момент количества LAN-портов роутера перестанет хватать, то для расширения кабельной сети к маршрутизатору можно подсоединить один или несколько коммутаторов (речь о них пойдет ниже), выполняющих функции разветвителей.
Модем
В современных компьютерных сетях модемом называют устройство обеспечивающее выход в интернет или доступ к другим сетям через обычные проводные телефонные линии (класс xDSL) или с помощью беспроводных мобильных технологий (класс 3G).
Условно модемы можно разделить на две группы. К первой относятся те, которые соединяются с компьютером через интерфейс USB и обеспечивают выходом в сеть только один конкретный ПК, к которому непосредственно происходит подключение модема. Во второй группе для соединения с компьютером используется уже знакомые нам LAN и/или Wi-Fi интерфейсы. Их наличие говорит о том, что модем имеет встроенный маршрутизатор. Такие устройства часто называют комбинированными, и именно их следует использовать для построения локальной сети.
При выборе DSL-оборудования пользователи могут столкнуться с определенными трудностями, вызванными путаницей в его названиях. Дело в том, что зачастую в ассортименте компьютерных магазинов, соседствуют сразу два очень похожих класса устройств: модемы со встроенными роутерами и роутеры со встроенными модемами. В чем же у них разница?
Каких-либо ключевых отличий эти две группы устройств практически не имеют. Сами производители позиционируют маршрутизатор со встроенным модемом как более продвинутый вариант, наделенный большим количеством дополнительных функций и обладающий улучшенной производительностью. Но если вас интересуют только базовые возможности, например, такие как, подключение к интернету всех компьютеров домашней сети, то особой разницы между модемами-маршрутизаторами и маршрутизаторами где, в качестве внешнего сетевого интерфейса используется DSL-модем, нет.
Итак, подытожим, современный модем, с помощью которого можно построить локальную сеть – это, по сути, маршрутизатор, у которого в качестве внешнего сетевого интерфейса выступает xDSL или 3G-модем.
Коммутатор
Коммутатор или свитч (switch) служит для соединения между собой различных узлов компьютерной сети и обмена данными между ними по кабелям. В роли этих узлов могут выступать как отдельные устройства, например настольный ПК, так уже и объединенные в самостоятельный сегмент сети целые группы устройств. В отличие от роутера, коммутатор имеет только один сетевой интерфейс – LAN и используется в домашних условиях в качестве вспомогательного устройства преимущественно для масштабирования локальных сетей.
Для подключения компьютеров с помощью проводов, как и маршрутизаторы, коммутаторы так же имеют специальные гнезда-порты. В моделях, ориентированных на домашнее использование, обычно их количество равняется пяти или восьми. Если в какой-то момент для подключения всех устройств количества портов коммутатора перестанет хватать, к нему можно подсоединить еще один свитч. Таким образом, можно расширять домашнюю сеть сколько угодно.
Коммутаторы разделяют на две группы: управляемые и неуправляемые. Первые, что следует из названия, могут управляться из сети с помощью специального программного обеспечения. Имея продвинутые функциональные возможности, они дороги и не используются в домашних условиях. Неуправляемые свитчи распределяют трафик и регулируют скорость обмена данными между всеми клиентами сети в автоматическом режиме. Именно эти устройства являются идеальными решениями для построения малых и средних локальных сетей, где количество участников обмена информацией невелико.
В зависимости от модели, коммутаторы могут обеспечить максимальную скорость передачи данных равную либо 100 Мбит/с (Fast Ethernet ), либо 1000 Мбит/c (Gigabit Ethernet). Гигабитные свитчи лучше использовать для построения домашних сетей, в которых планируется часто передавать файлы большого размера между локальными устройствами.
Беспроводная точка доступа
Для обеспечения беспроводного доступа к интернету или ресурсам локальной сети, помимо беспроводного маршрутизатора можно использовать и другое устройство, называемое беспроводной точкой доступа. В отличие от роутера, данная станция не имеет внешнего сетевого интерфейса WAN и оснащается в большинстве случаев только одним портом LAN для подключения к роутеру или коммутатору. Таким образом, точка доступа вам понадобится в том случае, если в вашей локальной сети используется обычный маршрутизатор или модем без поддержки Wi-Fi.
Использование же дополнительных точек доступа в сети с беспроводным маршрутизатором может быть оправдано в тех случаях, когда требуется большая зона покрытия Wi-Fi. Например, мощности сигнала одного лишь беспроводного роутера может не хватить, что бы покрыть полностью всю площадь в крупном офисе или многоэтажном загородном доме.
Так же точки доступа можно использовать для организации беспроводных мостов, позволяющих соединять между собой с помощью радиосигнала отдельные устройства, сегменты сети или целые сети в тех местах, где прокладка кабелей нежелательна или затруднительна.
Сетевой кабель, коннекторы, розетки
Несмотря на бурное развитие беспроводных технологий, до сих пор многие локальные сети строятся с помощью проводов. Такие системы имеют высокую надежность, отличную пропускную способность и сводят к минимуму возможность несанкционированного подключения к вашей сети извне.
Для создания проводной локальной сети в домашних и офисных условиях используется технология Ethernet, где сигнал передается по так называемой «витой паре» (TP- Twisted Pair) – кабелю, состоящему из четырех медных свитых друг с другом (для уменьшения помех) пар проводов.
При построении компьютерных сетей используется преимущественно неэкранированный кабель категории CAT5, а чаще его усовершенствованная версия CAT5e. Кабели подобной категории позволяют передавать сигнал со скоростью 100 Мбит/c при использовании только двух пар (половины) проводов, и 1000 Мбит/с при использовании всех четырех пар.
Для подключения к устройствам (маршрутизаторам, коммутаторам, сетевым картам и так далее) на концах витой пары используются 8-контактные модульные коннекторы, повсеместно называемые RJ-45 (хотя их правильное название — 8P8C).
В зависимости от вашего желания, вы можете, либо купить в любом компьютерном магазине уже готовые (с обжатыми разъемами) сетевые кабели определённой длинны, называемые «патч-кордами», либо по отдельности приобрести витую пару и разъемы, а затем самостоятельно изготовить кабели необходимого размера в нужном количестве. О том, как это делается, вы узнаете из отдельного материала.
Используя кабели для объединения компьютеров в сеть, конечно можно подключать их напрямую от коммутаторов или маршрутизаторов к разъемам на сетевых картах ПК, но существует и другой вариант – использование сетевых розеток. В этом случае, один конец кабеля соединяется с портом коммутатора, а другой с внутренними контактами розетки, во внешний разъем которой впоследствии можно уже подключать компьютерные или сетевые устройства.
Сетевые розетки могут быть как встраиваемыми в стену, так и монтируемыми снаружи. Применение розеток вместо торчащих концов кабелей придаст более эстетичный вид вашему рабочему месту. Так же розетки удобно использовать в качестве опорных точек различных сегментов сети. Например, можно установить коммутатор или маршрутизатор в коридоре квартиры, а затем от него капитально развести кабели к розеткам, размещенным во всех необходимых помещениях. Таким образом, вы получите несколько точек, расположенных в разных частях квартиры, к которым можно будет в любой момент подключать не только компьютеры, но и любые сетевые устройства, например, дополнительные коммутаторы для расширения вашей домашней или офисной сети.
Еще одной мелочью, которая вам может понадобиться при построении кабельной сети является удлинитель, который можно использовать для соединения двух витых пар с уже обжатыми разъемами RJ-45.
Помимо прямого назначения, удлинители удобно применять в тех случаях, когда конец кабеля заканчивается не одним разъемом, а двумя. Такой вариант возможен при построении сетей с пропускной способностью 100 Мбит/c, где для передачи сигнала достаточно использования только двух пар проводов.
Так же для подключения к одному кабелю сразу двух компьютеров без использования коммутатора можно использовать сетевой разветвитель. Но опять же стоит помнить, что в этом случае максимальная скорость обмена данными будет ограничена 100 Мбит/c.
Более подробно об обжимке витой пары, подключения розеток и характеристиках сетевых кабелей читайте в специальном материале.
Топология сети
Теперь, когда мы познакомились с основными компонентами локальной сети, пришло время поговорить о топологии. Если говорить простым языком, то сетевая топология – это схема, описывающая месторасположения и способы подключения сетевых устройств.
Существует три основных вида топологии сети: Шина, Кольцо и Звезда. При шинной топологии все компьютеры сети подключаются к одному общему кабелю. Для объединения ПК в единую сеть с помощью топологии «Кольцо», осуществляется их последовательное соединение между собой, при этом последний компьютер подключается к первому. При топологии «Звезда» каждое устройство подсоединяется к сети через специальный концентратор с помощью отдельного кабеля.
Наверное, внимательный читатель уже догадался, что для построения домашней или небольшой офисной сети преимущественно используется топология «Звезда», где в качестве устройств-концентраторов используются маршрутизаторы и коммутаторы.
Создание сети с применением топологии «Звезда» не требует глубоких технических знаний и больших финансовых вливаний. Например, с помощью коммутатора, стоимостью 250 рублей можно за несколько минут объединить в сеть 5 компьютеров, а при помощи маршрутизатора за пару тысяч рублей и вовсе построить домашнюю сеть, обеспечив несколько десятков устройств доступом к интернету и локальным ресурсам.
Еще одними несомненными преимуществами данной топологии являются хорошая расширяемость и простота модернизации. Так, ветвление и масштабирование сети достигается путем простого добавления дополнительных концентраторов с необходимыми функциональными возможностями. Так же в любой момент можно изменять физическое месторасположение сетевых устройств или менять их местами, чтобы добиться более практичного использования оборудования и уменьшить количество, а так же длину соединительных проводов.
Несмотря на то, что топология «Звезда» позволяет достаточно быстро изменять сетевую структуру, расположения маршрутизатора, коммутаторов и других необходимых элементов необходимо продумать заранее, сообразуясь с планировкой помещения, количеством объединяемых устройств и способами их подключения к сети. Это позволит минимизировать риски, связанные с покупкой неподходящего или избыточного оборудования и оптимизировать сумму ваших финансовых затрат.
Заключение
В этом материале мы рассмотрели общие принципы построения локальных сетей, основное оборудование, которое при этом используется и его назначение. Теперь вы знаете, что главный элементом практически любой домашней сети является маршрутизатор, который позволяет объединять в сеть множество устройств, использующих как проводные (Ethernet), так и беспроводные (Wi-Fi) технологии, при этом обеспечивая всем им подключение к интернету через один единственный канал.
В качестве вспомогательного оборудования для расширения точек подключения к локальной сети с помощью кабелей, используются коммутаторы, по сути, являющиеся разветвителями. Для организации же беспроводных соединений служат точки доступа, позволяющие с помощью технологии Wi-Fi не только подключать без проводов к сети всевозможные устройства, но и режиме «моста» соединять между собой целые сегменты локальной сети.
Что бы точно понимать, сколько и какого оборудования вам необходимо будет приобрести для создания будущей домашней сети, обязательно сначала составьте ее топологию. Нарисуйте схему расположения всех устройств-участников сети, которым потребуется кабельное подключение. В зависимости от этого выберите оптимальную точку размещения маршрутизатора и при необходимости, дополнительных коммутаторов. Каких-либо единых правил здесь нет, так как физическое расположение роутера и свитчей зависит от многих факторов: количества и типа устройств, а так же задач, которые на них будут возложены; планировки и размера помещения; требований к эстетичности вида коммутационных узлов; возможностей прокладки кабелей и прочих.
Итак, как только у вас появится подробный план вашей будущей сети, можно начинать переходить к подбору и покупке необходимого оборудования, его монтажу и настройке. Но на эти темы мы поговорим уже в наших следующих материалах.
IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.
Базы данных. Виды и типы баз данных. Структура реляционных баз данных. Проектирование баз данных. Сетевые и иерархические базы данных
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Заметки о MySQL, в которой я уже успел рассмотреть установку и настройку MySQL сервера баз данных, а также рассмотрел способы изменения кодировок сервера MySQL при помощи команды SET NAMES и файла конфигураций my.ini. Сегодня будет краткая и если можно так сказать теоретическая статья, посвященная вопросу — что такое базы данных и какие базы данных бывают.
В этой статье я постараюсь изложить кратко какие виды и типы баз данных бывают и остановлюсь на некоторых из них более подробно. Мы поговорим о структуре иерархических баз данных, уделим внимание структуре сетевых баз данных, и более подробно остановимся на структуре реляционных базах данных, рассмотрим особенности реляционных баз данных. И в конце статьи немного затронем тему проектирования баз данных, естественно реляционных, так сервер MySQL это по сути математическая модель реляционных баз данных. Проектирование баз данных и типы данных, с которыми может работать MySQL сервер — это темы для последующих публикаций.
База данных. Математические модели, структура, определение.
Я хоть и не собираюсь на своем блоге подробно рассказывать про математические законы и теории описывающие реляционные базы данных, но принцип того, как они устроены я рассказать должен, если вас заинтересует данная тема, то вы всегда можете посетить специализированный математический ресурс или почитать соответствующую литературу, а можете всегда задать вопрос в комментариях к данной публикации, и я по мере своих возможностей постараюсь вам ответить. Как я уже говорил, тема данной статьи – реляционные базы данных. Я постараюсь ответить на вопрос, что такое реляционные базы данных простым и понятным языком. Затрону основные понятия, относящиеся к реляционным базам данных, терминологию, историю возникновения баз данных вообще и реляционных в частности.
Наверное, самое простое определения баз данных, база данных – это упорядоченное хранение какой-либо информации. То есть, информация хранится в упорядоченном или систематизированном виде. Видов систематизации, упорядочивания и хранения информации может быть множество. Каждый из способов хранения информации отвечает каким-либо специфическим требованиям или предназначен для выполнения каких-либо определенных действий. На страницах своего блога я уже писал, про язык XML, данные в XML структурируются в виде дерева с разветвлениями, узлами и корнем. Но это лишь один из множества способов хранения информации. Более подробно обо всем этом читайте в рубрике Заметки о XML и XLST.
Виды и типы баз данных
Как я уже говорил, видов и типов баз данных очень и очень много и описать их все в данной публикации я просто не смогу, но самые распространенные виды хранения информации или виды баз данных я постараюсь описать. Понятно, что база данных хранит в себе информацию о каких-то объектах, например, информацию о товаре в интернет-магазине. Любой товар в базе данных – это объект с какими-то определенными параметрами и свойствами. Перейдем к конкретным примерам.
Иерархическая база данных, структура иерархических баз данных
Иерархическая база данных – каждый объект при таком хранение информации представляется в виде определенной сущности, то есть, у этой сущности могут быть дочерние элементы, родительские элементы, а у тех дочерних могут быть еще дочерние элементы, но есть один объект, с которого все начинается. Получается своеобразное дерево. Примером иерархической базы данных может быть, документ в формате XML или файловая система компьютера, пример с файловой системой компьютера я приводил, когда рассматривал структуру XML документа, в рубрике Заметки о XML.
Следует сказать, что базы данных подобного вида оптимизированы под чтение информации, то есть, базы данных, имеющие иерархическую структуру умеют очень быстро выбирать, запрашиваемую информацию и отдавать ее пользователям. Но такая структура не позволяет столь же быстро перебирать информацию, тут можно привести пример из жизни, компьютер может легко работать с каким-либо конкретным файлом или папкой (которые, по сути являются объектами иерархической структуры) но проверка компьютера антивирусам осуществляется очень долго. Второй пример – реестр Windows.
На рисунке вы можете увидеть структуру иерархической базы данных, в самом верху находится родитель или корневой элемент, ниже находятся дочерние элементы, элементы, находящиеся на одном уровне называются братьями, ну или соседними элементами. Соответственно чем ниже уровень элемента, тем вложенность этого элемента больше.
Сетевая база данных, структура сетевых баз данных
Сетевые базы данных, являются своеобразной модификацией иерархических баз данных. Если вы внимательно смотрели на рисунок выше, то наверное обратили внимание, что к каждому нижнему элементу идет только одна стрелочка от верхнего элемента. То есть у иерархических баз данных у каждого дочернего элемента может быть только один потомок. Сетевые базы данных отличаются от иерархических тем, что у дочернего элемента может быть несколько предков, то есть, элементов стоящих выше него. Для большей наглядности и понимания структуры сетевых баз данных обратите внимание на рисунок:
Стоит заметить, что сетевые базы данных обладают примерно теми же характеристиками, что и иерархические базы данных. Но, в данной рубрике нас не сильно интересуют иерархические и сетевые базы данных, данная тема больше относится к формату XML, и возможно в рубрике посвященной языку расширяемой разметки, я постараюсь более подробно рассмотреть эту тему. А в рубрике посвященной MySQL нас интересуют реляционные базы данных, на которых мы и остановимся более подробно.
Реляционные базы данных, структура реляционных баз данных
Реляционные базы данных получили очень широкое распространение и многие пытаются писать огромные статьи, посвященные вопросу – почему реляционные базы данных получили такое широкое распространение, делают глубокомысленные выводы и замечания. Но на самом деле все очень просто – реляционные базы данных очень легко описываются в математике, то есть, под них очень хорошо написана математика.
Был когда-то такой математик – Эдгар Франк Кодд, умерший в 2003 году, который в восьмидесятых годах очень подробно описал структуру реляционных баз данных математическим языком. А если есть хорошо написанная математика, то соответственно есть и программная реализация. Останавливаться на биографии Э.Ф. Кодда я не буду, для этого есть различные энциклопедии. Именно благодаря Кодду реляционные базы данных стали активно развиваться. Поэтому-то, когда мы говорим базы данных, чаще всего мы подразумеваем именно реляционные базы данных.
Особенности реляционных баз данных
Главной особенностью реляционных баз данных является, то, что объекты внутри таких баз данных хранятся в виде набора двумерных таблиц. То есть, таблица состоит из набора столбцов, в котором может указываться: название, тип данных(дата, число, строка, текст и т.д.). Еще одной важной особенность реляционных БД является, то, что число столбцов фиксировано, то есть, структура базы данных известна заранее, а вот число строк или рядов в реляционных базах данных ничем не ограничено, если говорить грубо, то строки в реляционных базах данных и есть объекты, которые хранятся в базе данных.
На самом деле, базы данных – это абстрактное понятие, таблица – это всего лишь способ хранения информации, набор таблиц может быть связан логически и этот набор называют база данных. Поэтому неправильно говорить, что MySQL это база данных, база данных – это хранящаяся информация. А вот такое понятие, как СУБД – система управления базами данных, это и есть MySQL сервер, именно при помощи него мы управляем хранящимися данными. Или иначе MySQL – это программное воплощение математических идей.
Самой трудной задачей при работе с реляционными базами данных, является проектирование структуры баз данных. Проектирование структуры базы данных, заключается не только в том, чтобы создать таблицу и указать тип данных и наименование столбцов. На самом деле проектирование – это самый сложный этап при работе с базами данных. Потому что мощности ваших компьютеров ограничены. Пока данных мало, мало таблиц и строк в этих таблицах, машина будет их обрабатывать очень и очень быстро. Но, со временем количество информации будет увеличиваться, и мы получим замедление, которое будет увеличиваться, поскольку машине необходимо время на обработку тех или иных запросов(обработка информации). В прошлой статье я уже писал, что реляционные БД прежде всего ориентированы на модификацию(OLTP), то есть, добавить новую запись в таблицу – это очень простая операция для реляционной СУБД, а вот сделать выборку данных, это уже трудоемкая операция. Также есть и изменение данных, это как бы промежуточное звено между чтением и добавлением. Хотя MySQL сервер всегда можно настроить.
Проектирование базы данных
Ну что же, мы немного поговорили о достоинствах и недостатках реляционных баз данных. И теперь, вкратце, я затрону вопрос проектирования баз данных. Под проектированием я понимаю следующее: садится человек за стол, берет бумагу и ручку, и исходя из поставленной задачи, а также, исходя из достоинств и недостатков той или иной системы, в нашем случае СУБД MySQL начинает составлять структуру будущей базы данных. Требование к проектируемой базе данных обычно ставятся следующее:
- База данных должна быть как можно более компактна, то есть, неизыбыточна.
- База данных должна быть простой с точки зрения обработки.
И как вы, наверное, поняли, данные требования противоречат друг другу. Проектирование — это самый важный аспект при работе с базами данных. Обычно, проектировщик – это опытный администратор сервера баз данных, либо архитектор баз данных, с большим опытом работы. В серьезных проектах может быть несколько десятков, а то и сотен таблиц, которые связаны между собой самыми замысловатыми способами связи. Конечно, я не собираюсь углубляться в проектирование баз данных, да и не смогу это сделать, но, кое какие основы проектирования баз данных я попытаюсь осветить на страницах своего блога. Прежде чем приступить к проектированию базы данных, нужно понять, а что мы вообще собираемся проектировать. То есть, должны понять, что у нас должно получиться на выходе.
А на выходе мы должны получить так называемую диаграмму или как ее еще называют схема. Диаграмма – это определение: какая информация будет храниться, в какой таблице она будет храниться, в каком столбце какой тип данных, как называется таблица, сколько столбцов в таблице и их тип, как связаны между собой таблицы. Да, типы данных в столбцах могут быть разными, например, номер телефона или индекс можно записать, как с помощью символов, так и с помощью числового типа данных. Но появляется вопрос: какой тип данных лучше для хранения номера телефона или почтового индекса? Чисто интуитивно на этот вопрос чаще всего отвечают правильно – номер телефона в базе данных должен иметь символьный тип, а вот объяснить, почему именно символьный тип могут немногие. Объяснение очень простое, например, нам потребовались все почтовые индексы, начинающиеся на 637 или номера телефонов начинающиеся на 952, так вот, сделать такую выборку из данных имеющих числовой тип задача довольно проблематичная, а сделать такую же выборку из данных символьного типа довольно легко.
При проектировании баз данных очень часто встречаются такие задачи и поверьте, от того, как вы будете их решать, будет зависеть, то, насколько быстро будет работать ваша система, в следующей статье я продолжу вопрос проектирования баз данных.