Author Archive

Установка Virtual Box (для Windows)

Virtual Box (Oracle VM VirtualBox) - программный продукт виртуализации для операционных систем. Скачаем бесплатно Virtual Box с официального сайта https://www.virtualbox.org/wiki/Downloads Запустите файл VirtualBox-4.2.12-84980-Win.exe 01 В окне приветствия нажмите Next 02 Выберите директорию установки. Нажмите Next 03 Здесь можно выбрать в каких местах установить ярлыки на программу. Можно оставить все по умолчанию и нажать Next 04 Далее идет предупреждение, что сеть временно будет отключена, поэтому нужно закрыть все программы, работающие по сети и с интернетом. После этого можно нажать кнопку Yes. 05 Для установки все готово, нажимаем Install 05-2 Дождитесь окончания процесса установки, это займет несколько минут. 06 В процессе установки будет запрошена установка дополнительно ПО от Oracle. Отметьте флажок Always trust software from "Oracle Corporation" и нажмите Install. 07 Установка завершена! Нажмите Finish 08 Потребуется перезагрузка операционной системы. Нажмите Yes для незамедлительной перезагрузки. 09 Virtual Box запускается следующим ярлыком.

Настройка Eclipse для разработки под Android

В данной статье будет описано как настроить Eclipse для разработки Android приложений. Перечислю все необходимое ПО: 1) JDK 6 (Java Development Kit - Набор для разработки на Java) 2) Eclipse Classic 3) Android SDK (Software Development Kit - Набор средств разработки ПО) 4) ADT (Android Development Tools - Инструменты для Android разработки) - плагин для Eclipse JDK Процесс установки JDK описан в статье: Установка JDK (Windows) Eclipse После установки JDK переходим к установке Eclipse. Скачаем свежую версию Eclipse с официального сайта eclipse.org. Кликните на закладке Downloads, вам будут представлены различные сборки Eclipse. Для наших целей нужен классический Eclipse - Eclipse Classic (на момент написания статьи последняя версия была 4.2.2). Распакуйте скачанный архив в директорию c:\eclipse (или куда вам удобнее) Для удобства создайте ярлык на исполняемый файл eclipse.exe. Запустите eclipse. При первом запуске будет предложено выбрать директорию вашего рабочего пространства. Рабочие пространства группируют проекты. Если вам достаточно одного рабочего пространства, то можно установить флаг "Use this as the default and do not ask again". Установив этот флаг, eclipse не будет выводить это окно в следующий раз, и сразу откроет ваше рабочее пространство, заданное по умолчанию. Выбор рабочего пространства Android SDK Перейдите на страницу загрузки http://d.android.com/sdk На данной странице предлагается сказать сборку, в которой есть все необходимое для android-разработки. Но мы пойдем другим путем. Скачаем только Android SDK. Выберите пункт "DOWNLOAD FOR OTHER PLATFORMS" (скачать для других платформ), в таблице под названием "SDK Tools Only" (только SDK) скачайте установщик SDK для Windows (*.exe). Прочитав и согласивших с лицензионным соглашением, скачайте этот установщик. Перед установкой Android SDK нужно убедиться, что настроена переменная среды JAVA_HOME (Как прописать системную переменную JAVA_HOME), иначе установщик ругнется, не найдя JDK. Запустите установщик installer_r21.1-windows.exe. В окне приветствия нажмите Next welcome На следующем шаге установщик определяет расположение JDK по системной переменной JAVA_HOME. Если JDK найдено, нажимаем кнопку "Next". jdk-found В окне выбора пользователей укажите опцию "Install for anyone this computer" (установить для всех пользователей компьютера). Если же хотите установить только для себя, то выберите вторую опцию "Install just for me". Нажмите "Next". choose-users В окне выбора места установки оставьте все по умолчанию и нажмите "Next". choose-install-location В окне создания ярлыка в меню можно также оставить все без изменения и нажать "Install". install После успешного завершения установки нажмите "Next". installation-complete В финальном окне установщика оставьте галочку "Start SDK Manager", чтобы запустить SDK Manager, после нажатия кнопки "Finish". start-sdk-manager После запуска SDK Manager предложит установить последную версию API. Если вам нужны предудыщие версии укажите их и нажмите кнопку "Install packages..." sdk-manager Согласитесь с лицензией "Accept License" и нажмите "Install" sdk-accept-license Начнется скачивание выбранных вами пакетов из интернета. ADT Установка плагина ADT для Eclipse. Запускаем Eclipse. В меню Help выберите пункт "Install New Software...". Нажмите кнопку "Add..." (Добавить) Появиться окно добавления хранилища: add-repository В нем укажите название "Android Development Tools" и адрес расположения "https://dl-ssl.google.com/android/eclipse/". Нажмите "OK" После нескольких секунд ожидания в списке должна появиться запись "Development Tools", отметьте ее галочкой и нажмите "Next". В следующем окне также нажмите "Next". В обзоре лицензионного соглашения согласитесь с ней и нажмите "Finish". В процессе установки выйдет окно Security Warning, просто нажмите в нем OK. По завершению установки плагина ADT будет предложено перезагрузить Eclipse, согласитесь с этим. При запуске Eclipse может выйти следующая ошибка: 1 Eclipse не может найти SDK, потому что мы установили SDK по умолчанию в директорию: C:\Program Files (x86)\Android\android-sdk. Чтобы переназначить путь к SDK откройте меню Windows -> Preferences. В окне Preferences в поле SDK Location укажите путь к Android SDK и нажмите OK. 2 Всё Eclipse готов для разработки Android-приложений.

Установка и настройка SQuirreL SQL Client

Рассмотрим установку моего любимого sql-клиента SQuirreL SQL Client на Windows 8 Скачиваем свежую версию файла squirrel-sql-<версия>-install.jar с официального сайта http://www.squirrelsql.org/#installation Начнем с того, что SQuirreL SQL Client написан на java. Поэтому на компьютере должна быть установлена Java (см. статью Установка JDK (Windows)). Не удивляйтесь, что установщик представлен jar-файлом, это все благодаря IzPack. Установщик нужно запустить с правами администратора, иначе установщик не сможет создать папку и записать данные в папку C:\Program Files. Можно, конечно, установить в папку, на которую у вас есть доступ, но мы все же установим в папку C:\Program Files. Нажмите кнопку Windows, затем наберите cmd, должна появиться строка запуска командной строки. Вызовите на ней контекстное меню и выберите пункт Запуск от имени администратора. Наберите следующую команду, указав полный путь к jar-файлу.
java -jar c:\temp\squirrel-sql-3.5.0-install.jar
Если в пути есть пробелы, то заключите путь в кавычки:
java -jar "C:\Program Files\Java\jdk1.6.0_43\bin\squirrel-sql-3.5.0-install.jar"
Должно появиться окно приветствия: 1 В окне приветствия просто нажмите Next. 2 В следующием окне также нажмите Next 3 Директорию установки оставим без изменения, нажмем Next. Установщик сообщит, что будет создана новая директория, согласитесь с этим, нажатием кнопки OK. 4 В окне выбора пакетов можно выбрать дополнительные плагины для СУБД, которые планируем использовать. Я выбрал плагины для MySQL, Oracle, Microsoft SQL Server и DB2. Также выбрал плагин русского языка. 5 После копирования и установки файлов нажмите Next. 6 Можно разрешить установку ярлыка на рабочий стол и нажать Next. 7 Установка завершена, нажимаем Done. Установка драйверов "Голый" squirrel содержит только драйвер "JDBC ODBC Bridge". Для подключения драйвера скопируйте файл драйвера в директорию C:\Program Files\squirrel-sql-3.5.0\lib в соответствии со следующей таблицей:
СУБД Файл драйвера
MySQL mysql-connector-java-5.1.5-bin.jar
Oracle ojdbc14.jar
Microsoft SQL Server sqljdbc.jar
DB2 db2java.zip db2jcc.jar db2jcc_license_cu.jar (нужны все три файла)
Для проверки подключения драйверов откройте Squirrel, выберите вкладку Drivers и нажмите кнопку Показывать только загруженные драйверы. Вы увидите список доступных драйверов: 8 Подключение к базе данных 9 Выберите вкладку Aliases и нажмите синий плюс для добавления нового подключения. Выберите произвольное название для подключения, выберите нужны драйвер из списка, укажите строку подключания, пользователя и пароль. Также вы можете установить флаг "Auto logon", чтобы при открытий, созданного подключения, автоматически происходила авторизация. Нажмите OK. Созданный alias появиться в списке: 10 Подключение устанавливается двойных щелчком по alias. При успешном подключении с базой данных можно работать в двух режимах: Objects (работа с объектами базы данных) и SQL (режим sql-запросов). 11 Ниже приведены примеры для создания подключений к некоторым СУБД:
СУБД Драйвер Строка подключения
MySQL MySQL Driver jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8
Oracle Oracle Thin Driver jdbc:oracle:thin:@localhost:1521:TEST
Microsoft SQL Server Microsoft MSSQL Server JDBC Driver jdbc:sqlserver://localhost:1433;characterEncoding=UTF8;databaseName=test
DB2 IBM DB2 Net Driver jdbc:db2://localhost:50000/TEST
Microsoft Access JDBC ODBC Bridge jdbc:odbc:test

Перемешивание букв в словах

Не имеет значения в каком порядке расположены буквы в слове ...
По рзелульаттам илссеовадний одонго анлигйсокго унвиертисета, не иеемт занчнеия, в кокам пряокде рсапожолены бкувы в солве. Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете. Осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все рвано ткест чтаитсея без побрелм. Пичрионй эгото ялвятеся то, что мы не чиатем кдаужю бкуву по отдльенотси, а все солво цликеом:))
Сегодня я приведу примеры реализации таких перемешиваний букв в словах. Первая реализация будет на языке Java, а вторая реализаций будет на JavaScript. Реализация на Java Цель: создать метод turn, который принимает строку, а возвращает строку со словами, в которых перемешаны все буквы, кроме первой и последней. Например, turn("По результатам исследований") вернет следующий текст: "По рзлуаьаттем иаслсеодинвй" Необходимо подключить следующие пакеты для работы с регулярными выражениями:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Самое главное - регулярное выражение. \p{L} - означает unicode символ {4,} - задает количество от 4 до бесконечности
//регулярное выражение поиска unicode-последовательности из более 3-х символов
static final Pattern p = Pattern.compile("\\p{L}{4,}");
Реализация функции turn:
//функция принимает строку в обычном виде,
//а возвращает в перемешанном
static String turn(String str){
	//разбор строки
	Matcher m = p.matcher(str);
	//обработанные данные будем добавлять в переменную sb
	StringBuilder sb = new StringBuilder();
	//перебираем все фрагменты, которые нужно перемешать
	while(m.find()){
		//создаем массив из номеров позиций букв в массиве,
		//которые нужно перемешать
		int size = m.end() - m.start() - 2;
		int[] a = new int[size];
		int ndx = 0;
		for(int j = m.start() + 1;j < m.end() - 1;j++){
			a[ndx++] = j;
		}		
		//просто копируем все символы, которые не нужно перемешивать
		for(int i=sb.length();i<=m.start();i++){
			sb.append(str.substring(i, i+1));
		}
		//перемешиванием массив
		mix(a);
		
		//добавляем в переменную sb перемешанные буквы
		for(int el : a){
			sb.append(str.substring(el, el + 1));
		}
	}	
	//добавляем последние символы, которые перемешивать не нужно
	for(int i=sb.length();i

Ниже приведена функция перемешивания массива:
//функция перемешивания массива
static void mix(int[] arr){
	for(int i=0;i

Реализация на JavaScript
Из-за особенностей JavaScript реализация будет немного отличаться.
JavaScript поддерживает регулярные выражения, но не поддерживаются класс unicode-символов, а нам нужен класс символов \p{L}.
Для решения этой проблемы будем использовать плагин XRegExp.
Скачаем плагин с официального сайта http://xregexp.com/plugins/ или отсюда

Подключаем плагин к странице:

Регулярное выражение создается с помощью функции XRegExp, в которую первым параметром передаем шаблон регулярного выражения(описание шаблона см.выше), а вторым параметром флаг g, означающий поиск всех совпадений.
var exp = XRegExp('\\p{L}{4,}','g');
В реализации функции turn есть несколько ньюансов: 1) Вместо ресурсозатратной операции конкатенации(склеивания) строк мы будет добавлять символы в массив с помощью метода push. В конце мы сольем все элементы массива с помощью функции join, которая параметром принимает разделитель между элементами, а в нашем случае это пустая строка. 2) В JavaScript при использовании такого синтаксиса: for(el in arr), в переменную el кладется не элемент массива, а ключ. Чтобы получить элемент нужно получить его из массива по ключу: arr[el].
//функция принимает строку в обычном виде,
//а возвращает в перемешанном
function turn(text){
	//обработанные данные будем добавлять в массив res
	var res = [];	
	//перебираем все фрагменты, которые нужно перемешать
	while(match = exp.exec(text)){	
		//создаем массив из номеров позиций букв в массиве,
		//которые нужно перемешать
		var first = match.index + 1;
		var last = match.index + match.toString().length - 2;
		var arr = [];
		for(i=first;i<=last;i++){
			arr.push(i);
		}
		
		fix(arr);//перемешиванием массив
		
		//просто копируем все символы, которые не нужно перемешивать
		for(i=res.length;i<=match.index;i++){
			res.push(text.substring(i,i+1));
		}
		
		//добавляем перемешанные символы
		for(el in arr){
			var ndx = arr[el];
			res.push(text.substring(ndx,ndx+1));
		}	
	}
	//добавляем последние символы, которые не нужно перемешивать
	for(i=res.length;i

Код перемешивания элементов массива:
//функция перемешивания массива
function fix(arr){
	for(i=0;i

Готовую реализацию можно увидеть на странице: Перемешивание букв в словах (Пример)            

Туристическая виза в Великобританию для Казахстанцев

Начну с того, что получить британскую визу достаточно тяжело. Из нашей группы (10 человек) получили визу только двое (я и моя девушка). На все про все у нас ушло около месяца. И все это время мы были в напряжении, т.к. сперва были проблемы с документами(до последнего боролись, порой даже опускались руки), а потом ждали результат с визового центра. Нашей поездкой в Лондон занималось турагентство ТОО "Премьер-тур Оскемен" (г.Усть-Каменогорск). Для начала нам скинули опросник: скачать опросник И перечень документов, которые нужно было собрать: пакет документов 1) Нам дали 5 дней на заполнение опросника и на предоставление копий паспортов. Опросник заполнить несложно, там 75 вопросов, он на русском языке, заполняется тоже на русском, а потом уже сотрудники турагентства заполняют ваш опросник на сайте посольства на английском языке. С паспортом могут быть проблемы. Во-первых, он у вас должен быть. Во-вторых, срок его действия не должен заканчиться в течение трех месяцев после окончания действия визы. И так, как минимальный срок английской визы 6 месяцев, то у вашего паспорта должен быть запас в 9 месяцев (если вы берете визу на 6 месяцев). Не все знают, что паспорт можно продлить на год, но, сразу оговорюсь, что это можно сделать за месяц или за два до окончания действия паспорта. Например, если срок вашего паспорта подходит к концу через 3-8 месяцев, то лучше сделать новый паспорт, указав как причину получение визы. Заранее позаботьтесь о паспорте. Проблемы с паспортом возникнут, только если у вас поджимает время. 2) Теперь пробегусь по перечню необходимых документов. a) Паспорт. Про паспорт я уже написал. Думаю, чистые страницы у вас в паспорте имеются. б) Цветная фотография (3,5 х 4,5 см, на белом фоне, лицо должно занимать 80% фотографии). Даже если у вас есть подходящая фотография, сделайте лучше новую. Вам нужно такую фотографию, какой еще не было в паспорте. в) Справки с места работы. Всего их три. С нас требовали, чтобы это были три отдельных справки, а не одна общая. Справка с места работы на фирменном бланке с указанием должности, зарплаты, даты приема на работу или справка с места учебы. Справка о заработной плате за последние 3 месяца (лично я брал справку за 11 месяцев с начала года). Справка о зарплате должна содержать помесячную расширенную информацию о доходе, вычетах (индивидуальный подоходный налог, пенсионные и социальные отчисления и в итоге сколько вы получаете на руки) В справке об отпуске должно быть указано, что на период вашей поездки, вы будете в отпуске с сохранением рабочего места. Уточню: справка с места работы и справка об отпуске должны быть на фирменных бланках. Если же хотите перестраховаться, то сделайте справку о зарплате тоже на фирменном бланке. У всех справок должен быть проставлен исходящий номер с датой. Также у справок должен быть указан исполнитель с контактными телефонами, по которым сотрудники посольства могут позвонить и уточнить достоверность ваших справок. Насколько я знаю, мои справки не проверяли, но где-то читал, если они не дозвонятся, то это причина для отказа в визе. Эти справки должны быть переведены на английский язык. Есть два варианта: можно взять справки на русском, а потом их перевести или взять справки сразу на английском (я выбрал первый вариант, а моя девушка второй). г) Справки из банка. Их две: Выписка с банковского счета и Транзакции о пополнении и изъятии денежных средств за последние 3 месяца и точной сумме баланса (к моменту подачи документов справка должна быть выдана не более 7 дней назад). Депозитный счет не подойдет, это должен быть либо текущий счет, либо банковская карта. Независимо от валюты Вашего счета необходимо указать остаток суммы на счету в евро. Остаток на счете должен составлять не менее 700 евро на человека. Банковские справки тоже должны быть переведены, банк, скорее всего, даст их на русском языке. д) Адресная справка (книги регистрации граждан отменили). Адресную справку можно взять в ЦОНе или вытащить с e-gov.kz и перевести ее на английский. e) Справка о недвижимости. Если у вас есть недвижимость, то обязательно возьмите справку о наличие недвижимости в ЦОНе или на e-gov.kz. Наличие недвижимости - это гарант того, что вы вернетесь обратно. Это актуально для девушек возрастом от 25 до 30 лет, которым неохотно дают визу. Также не забудьте перевести на английский. 3) Сам визит в визовый центр. Британский визовый центр находится по адресу г.Алматы, ул.Амангельды, 59А (ниже Шевченко), БЦ "Шартас". У визового центра нас встретил представитель турагентства (вернее, сотрудник турагенства - партнера нашего турагентства). У него были наши сопроводительные документы. Нам же осталось приложить к этому пакету документов: паспорт, фото и справки + перевод справок. Причем фото должно быть уже вырезано (у нашего представителя были ножницы на этот случай). Собеседования как такового не было, т.к. в визовом центре только принимают документы, а рассмотрение происходит в Стамбуле(Турция). Зададут несколько вопросов: "Цель поездки", "Кто будет забирать паспорт? Сами или доверенное лицо". Цель поездки у нас был туризм. Вопросы задают на русском языке обычные казахстанцы, работающие в визовом центре, так что бояться нечего. Также нужно будет пройти биометрическое сканирование: вас сфотографируют с двух ракурсов и просканируют отмечатки пальцев. Для успешного прохождения сканирования лицо не должно быть опухшим, и на подушечках пальцев не должно быть порезов. Все ваши данные будет упакованы в конверт и отправлены в Стамбул. Мы подали документы 17 декабря и думали результат дадут до нового года, но увы результат сказали только где-то 9 января за три дня до вылета. Советы: 1) Паспорт со всеми документами уходит на рассмотрение в Турцию, поэтому, если вам в это время нужно перемещаться по Казахстану, то бронируйте(покупайте) билеты на поезд(самолет) на удостоверение личности, пока паспорт не будет у вас на руках. 2) Справки нужно переводить полностью. Не забудьте перевести шапку фирменного бланка. Правило простое: не должно быть текста на русском без перевода на английский. Оно и понятно, ваши документы для визы, скорее всего, будут рассматривать люди не знающие русский. Когда мы сдавали документы на визу, там бы женщина, которой прошел отказ в визе. В причинах отказа было написано, что не все справки были переведены. 3) Перевод банковских справок нужно обязательно перепроверить на предмет опечаток в цифрах. p.s. Если вы соберете все документы и все качественно переведете на английский язык, то вы не дадите повода в отказе в визе. Очень большой плюс, что это мультивиза, по которой можно в течение срока действия визы слетать в Великобританию несколько раз. Если все-таки прийдет отказ в визе, то там по пунктам будет расписаны причины отказа. Устранив эти причины, вы можете снова подать на визу.

Как прописать системную переменную JAVA_HOME

Для начала проверим прописана ли системная переменная JAVA_HOME у вас в Windows.

В командной строке наберите:

echo %JAVA_HOME%

Как быстро вызвать командную строку? Нажмите Win+R. И в окне "Выполнить" наберите команду "cmd"

Если будет выведен следующий результат: "%JAVA_HOME%", значит системная переменная не установлена.

Приступим к настройке. Откройте свойства компьютера, для этого на значке "Мой компьютер" ("Компьютер") вызовите контекстное меню и выберите пункт "Свойства". Зайдите в "Дополнительные параметры системы" ("Дополнительно"). Нажмите кнопку "Переменные среды...". Во второй таблице под названием "Системные переменные" нажмите кнопку "Создать". set-java-home

В окне "Новая системная переменная" в поле "Имя переменной" укажите "JAVA_HOME" и в поле "Значение переменной" укажите путь к JDK или JRE (В чем разница JDK и JRE?). Чтобы не было опечаток, лучше скопируйте этот путь. Нажмите "OK", в окне "Переменные среды" также нажмите "OK". Переменная JAVA_HOME создана!

Для проверки перезапустите командную строку и снова набери команду:

echo %JAVA_HOME%

Должен появиться путь к вашей JDK или JRE (в данном примере указан путь к JDK): C:\Program Files\Java\jdk1.6.0_43

В чем разница JDK и JRE

JDK [Java Development Kit] - Набор инструментов для разработки на Java, сюда входить компилятор языка - javac JRE [Java Runtime Environment] - минимальная реализация виртуальной машины, необходимая для исполнения Java-приложений, без компилятора и других средств разработки. Другими словами JDK в основном используется в разработке, и для работы IDE (интегрированных сред разработки) нужен именно JDK. JRE - это всего лишь исполняемая среда, благодаря которой можно запустить приложение созданное на java.

Установка JDK (Windows)

JDK(Java Development Kit) - это пакет для разработки приложений на языке Java Скачать JDK можно с сайта Oracle, которому теперь принадлежит Java. 1) Открываем сайт oracle.com 2) Выбирает раздел Downloads 3) Нажимаем ссылку Java for Developers В таблице Java Platform, Standard Edition найдите последнее обновление для Java 6, у меня это Java SE 6 Update 43 (можно скачать и 7-ю версию, но 6-й версией меньше проблем). В столбце JDK нажмите кнопку Download download jdk Перед тем как что-то скачать, нужно согласиться с лицензионным соглашением, выбрав опцию "Accept License Agreement". jdk-version Нам нужно выбрать версию для Windows и определиться с разрядностью: Если у вас 32-разрядный Windows(x86), то вам подойдет только 32 разрядная версия Java; Если у вас 64-разрядкая Windows(x64), то можете выбрать 32 или 64-разрядкую Java. Но хочу отметить, что 64-разрядная Java более производительная и поддерживает большее кол-во оперативной памяти. Я выберу 64-битную версию (x64) - jdk-6u43-windows-x64.exe. Запускаем файл jdk-6u43-windows-x64.exe. В окне приветствия просто нажмите "Next" welcome-jdk-installation Директорию установки можно оставить без изменения и нажать "Next" jdk-install-path Дождитесь окончания копирование файлов ... Также установщик спросит куда устанавливать JRE (Java Runtime Environment - минимальная реализация виртуальной машины, необходимая для исполнения Java-приложений, без компилятора и других средств разработки). Директорию установки JRE также можно оставить без изменения. Нажмите "Next" jre-install-path В окне успешного завершения установки нажмите кнопку "Finish" installation-complete Теперь проверим доступность java. В командной строке наберите команду: java -version Должны вывестись следующие строки: java version "1.6.0_43" Java(TM) SE Runtime Environment (build 1.6.0_43-b01) Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode) Также желательно прописать системную переменную %JAVA_HOME%. Установка и настройка JDK окончена!

Шпаргалка по Windows

Как задать английский язык для ввода пароля при входе в Windows 7: В реестре Windows найдите раздел HKU\.DEFAULT\Keyboard Layout\Preload В нем укажите параметру 1 значение 409, а параметру 2 значение 419. [1] 409 (английская раскладка) [2] 419 (русская раскладка)

Шпаргалка по MySQL (Foreign Key)

Отключить проверку внешних ключей
SET foreign_key_checks = 0;

Включить проверку внешних ключей
SET foreign_key_checks = 1;

Просмотреть ограничения для таблицы:
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
WHERE CONSTRAINT_SCHEMA = 'YOUR_DATABASE' AND TABLE_NAME = 'YOUR_TABLE';

Просмотреть ссылочное ограничение двух связанных таблиц (имя ограничения - поле CONSTRAINT_NAME):
SELECT CONSTRAINT_SCHEMA,CONSTRAINT_NAME,TABLE_NAME,REFERENCED_TABLE_NAME 
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 
WHERE CONSTRAINT_SCHEMA = 'YOUR_DATABASE' 
AND TABLE_NAME = 'YOUR_TABLE' AND REFERENCED_TABLE_NAME = 'YOUR_REFERENCED_TABLE'