Первое знакомство с FireBird, IBExpert


В данном видео показано как создать БД c использованием СУБД FireBird версии Embed используя в качестве редактора IBExpert
Показано создание и проектирование (базовое, почему так, а не иначе) таблиц, быстрое создание триггеров и генераторов

Где хранить БД и что для этого делать?


Здравствуйте, уважаемые подписчики itist.ru
Время от времени, читатели блога задают разные вопросы, и когда однотипных вопросов на какую то тему становится достаточно много, я пишу в блог, дабы осветить все моменты, которые могут быть интересны, и чтобы не возникало вопросов…
Речь в этой статье, пойдет про хранение данных в Базах Данных.
Есть несколько ситуаций, рассмотрю наиболее распространенные.
Случай первый.
У нас есть приложение, и доступ будет осуществляться в однопользовательском режиме.
Тут не нужно мудрить, лучше всего хранить файл БД в каталоге с программой. Для примера прекрасно подойдет Access, со своими базами данных, если потребуется, отдельно напишу о достоинствах и недостатках всех известных мне СУБД, и методах работы с ними.
И так у нас есть БД. К ней будет обращаться только один пользователь, значит храить базу лучше в каталоге с программой, но тут есть одно НО. В windows 7, если база будет находиться в Programm Files, и наше приложение будет запущено без прав администратора, мы получим ошибку, из — за нехватки прав доступа. В этом случае, я рекомендую копировать программу в AppData пользователя, и работать уже с этой копией базы, при запуске программы, необходимо добавить соответствующие проверки.
Случай 2.
С БД будет работать много человек. В этом случае, необходимо использовать отдельную машину для хранения базы. Пути на клиентах прописываются вручную, или генерируется конфигурационный файл на серверной машине, чтобы клиентские приложения знали куда отправлять запросы. Сюда же относятся и хайлоад приложения, но в случай с высоконагруженными БД, они могут быть распределены на несколько серверов, но это тяжелее в настройке, и если с БД работает не более 1000 человек одновременно, то не стоит об этом задумываться. Если же работает пользователей 50 и программа не выполняет своих функций достаточно быстро, следует задуматься об оптимизации. Тут есть распространенная ошибка: когда программист в начале разработки ориентируется на небольшую нагрузку, и вместо перечисления полей необходимых для получения данных из таблицы, использует * (select * from table1 вместо select name, adress, phone from tsble1) в следствии чего сервер каждый раз, каждому пользователю будет отдавать несколько лишних полей, чем больше запросов, тем больше нагрузка, учитесь сразу писать правильно.
Частный случай 3.
Основные моменты рассмотрены выше, но бывают случаи, когда доступ к БД должен осуществляться одним человеком, но БД должна быть доступна нескольким людям. В этом случае, можно использовать сетевые хранилища. Например DropBox. Главное не забываем при такой работе блокировать БД, и разблокировать ее в случае некорректной работы программы. Дропбокс любит при таком подходе создавать «Конфликтующие копии», в результате чего данные отредактированные одним из пользователей могут не сохраниться, но тут главное правильно ограничивать доступ. Если остались вопросы, или появились после прочтения, пишите на почту, или задавайте их в комментариях.

Работа c базой данных Access в C#


Здравствуйте, уважаемые подписчики itist.ru
В данном видео показана работа с базой данных MS Access 2003 из MS C#
Были вопросы на e-mail и в комментариях к предыдущим видео, что у пользователей что то не получалось. На основе Ваших вопросов и создано данное видео.

Использование AdoTable AdoQuery и дополнительных компонентов для работы с БД из Delphi


В данном видео показано как работать с СУБД Microsoft Access 2003 из Delphi/
Коротко разъясняется разница между ADOTable и ADOQuery, показывается установка связей между таблицами при помощи ADOTable, а так же показано, как использовать дополнительные компоненты для работы с базами даных, например DBEdit и другими…

Скачать исходники можно тут
test.rar

Краткий обзор СУБД MySQL


Здравствуйте, уважаемые читатели АйТиста. =)

MySQL ( «май-эс-кью-эль», жарг. мускул). На данный момент в разработке уже 6ая версия этой СУБД, но с сайта скачать вы можете 5.1 версию. (так же на mysql.ru можно скачать 6 альфа версию) Но рекомендую не бросив всё выкачивать дистрибутив, а дочитать доконца этот материал.

Сейчас существует множество установщиков для этой СУБД, но мне хотелось бы выделить 2 наиболее лидирующих проекта, это LAMP и Денвер (Denwer). Хочу отметить, что лично я под ОС Windows XP использую именно Денвер, о котором возможно напишу более подробно в другом материале. Из вышесказанного, если вы используете Windows, то рекомендую использовать Денвер.

И так, вернусь непосредственно к MySQL. Это довольно удобная для работы СУБД, которая позволяет хранить огромное количество данных, о которых можно почитать в документации на сайте mysql.ru.

При работе и администрировании вы можете заметить, что у вас уже есть некоторое количество БД, которые вы не создавали…

Данная СУБД не только позволяет работать с БД и непосредственно с таблицами, но и позволяет разграничивать права доступа пользователям, и пользователей по привилегиям.

Это системные БД, к которым относятся:

information_schema

 

mysql

 

phpmyadmin

Кстати говоря, пользователи БД и права хранятся тут mysql->Users. Но рекомендую быть осторожным при редактировании вручную.

Так же есть средства способствующие как и phpMyAdmin (использование бесплатно) улучшению разработки. Например Navicat for MySQL  (использование платно).

Тавк же существует расширение MySQLi которое увеличивает функционал, доступный пользователю, но основным наначением к применению, является то, что MySQLi позволяет предотвратить SQL-injection (инъекции), а следовательно упростив вам жизнь обезопасить данные на сервере.

Автоматическая генерация ID (Код) в Access на Delphi


Буквально пару дней назад столкнулся с такой проблемой, что при вставке новых записей в таблицу, несмотря на то, что поле объявлено как счётчик, является идентификатором, первичный ключ (primary key) так называемый ID или идентификатор, не работает вернее, на делает того что нужно, когда мы делаем запрос на вставку новой записи. Как это решается:
Объявляем переменную целого типа? например:
у нас есть таблица Users
в ней есть поля ID, Login, Password
Кидаем на форму компонент ADOQuery, устанавливаем связи и так далее, чтобы можно было выполнять запросы (смотрим в блоге, по меткам…)
var
MyID: Integer;

и далее пишем там где собираемся использовать запрос на вставку

ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:='Select ID from Users';
ADOQuery1.ExecSQL;

Теперь нам нужно передвинуть курсор на последнюю запись:
ADOQuery1.Last;

И теперь получаем наш новый ID
MyID:=1+StrToInt(ADOQuery1.FieldByName('ID').AsString);

А вот уже теперь, мы можем использовать нашу переменную, для вставки ID
ADOQuery1.Active:=False;ADOQuery1.SQL.Text:='Insert InTo Users (ID, Login, Password) VALUES('+
IntToStr(MyID)+','+
QuotedStr('Логин нового пользователя')+','+
QuotedStr('Новый пароль')+')';ADOQuery1.ExecSQL;

 

Вот собственно и всё…

Пишем на C# приложение для работы с MS SQL


В продолжение к предыдущей теме http://itist.ru/blog/?p=147, где мы создавали тестовую, связаную БД, в этом видео будет показано и расскаано как создать простое приложение на  C#.

Обещал сделать эти видео ещё в прошлом месяце, но сейчас сессия, и мне как то не до блога…

Видео и исходник смотрим в полном виде, в HD качестве если что то не понятно…

Исходник (RAR)

Работа с MS SQL Server


Нам потребуется:
1. Среда SQL Server Management Studio Express
можно найти через поиск.
2. Microsoft Visual Studio 2008
С ним в поставке ставится MS SQL сервер 2005, с которым как раз и работает Management Studio Express
Можно взять с сайта Microsoft. Я брал с DreamSpark.

Нужен он не для этого проекта, просто потребуется для следующего видео, в котором будет разработано приложение под данную базу данных.

Видео озвучено, поэтому особо комментировать тут ничего не буду, это первое видео которое записал со звуком, правда звук писал на диктофон на своём смартфоне, так как что то микрофончик у меня накрылся =(

На видео увидите:
Как создать Базу Данных в среде MS SQL Server
Как создавать таблицы, поля к ним, определять идентификаторы, первичные ключи и установку связей между таблицами.
Потом при разработке программы увидите почему это не маловажный момент.

Видео в полной записи…

Работа с MS SQL Server

Наиболее распространённые и серьёзные ошибки при проектировании (моделировании) баз данных


Никакая Информационная Система не обходится без базы данных, которая является вообще основой некоторых проектов. Мало одной хорошо спрограммированной и спроектированной оболочки. Хорошая оболочка под АИС с хранилищем данных стоит порядка 10000 долларов США, но в это же время само хранилище может стоить и сотни тысяч.
Это было лирическим отступлением, а теперь сама суть…

Читать далее