Типы полей в MySQL

Типы полей в MySQL

MySQL поддерживает три группы типов полей: числовые, дата и время, строковые (символьные).

Тип Применение Размер
TINYINT целые числа самой маленькой разрядности Диапазон чисел со знаком: –128 … 127, без знака(unsigned) – 0 … 255
SMALLINT целые числа маленькой разрядности Диапазон чисел со знаком: –32768 … 32767, без знака(unsigned) – 0 … 65535
MEDIUMINT целые числа средней разрядности Диапазон чисел со знаком: –8388608 … 8388607, без знака(unsigned) – 0 … 16777215
INT или INTEGER целые числа обыкновенной разрядности Диапазон чисел со знаком: -2147483648 … 2147483647, без знака(unsigned) – 0 … 4294967295
BIGINT целые числа большой разрядности Диапазон чисел со знаком: -9223372036854775808 … 9223372036854775807, без знака(unsigned) – 0 … 18446744073709551615
FLOAT числа с плавающей запятой (одинарной точности) Диапазон от –3.402823466E+38 до –1.175494351E-38 и от 1.175494351E-38 до 3.402823466E+38
DOUBLEREAL числа с плавающей запятой (двойной точности) Диапазон от -1.7976931348623157E+308 до -2.2250738585072014E-308 и от 2.2250738585072014E-308 до 1.7976931348623157E+308
DATE дата Диапазон от ‘1000-01-01′ до ‘9999-12-31′, отображается в виде ‘YYYY-MM-DD’
DATETIME комбинация даты и времени Диапазон от ‘1000-01-01 00:00:00′ до ‘9999-12-31 23:59:59′, отображается в виде ‘YYYY-MM-DD HH:MM:SS’
timestamp временная отметка Диапазон от ‘1970-01-01 00:00:00′ до 2037 года, отображается в виде YYYYMMDDHHMMSS или YYMMDDHHMMSS или YYYYMMDD или YYMMDD
TIME время Диапазон от ‘-838:59:59 до ‘838:59:59′, отображается в виде ‘HH:MM:SS’
YEAR год (2-х или 4-х циферное представление) Диапазон от 1901 до 2155 (для 4-х циферного представления) и 1970-2069 (70-69, для 2-х циферного представление), отображается в виде ‘YYYY’
CHAR строка фиксированной длины Диапазон от 1 до 255 символов, пробелы по краям обрезаются при получении значения, заполняется пробелом до заданной длины (если символов меньше, чем заданная длина), сортировка и сравнение значений регистро-независимое
VARCHAR строка изменяющийся длины Диапазон от 1 до 255 символов, пробелы по краям обрезаются при сохранении, сортировка и сравнение значений регистро-независимое
TINYBLOBTINYTEXT столбец типа BLOB или TEXT, максимальная длина 255 символов
BLOBTEXT столбец типа BLOB или TEXT, максимальная длина 65535 символов
MEDIUMBLOBMEDIUMTEXT столбец типа BLOB или TEXT, максимальная длина 16777215 символов
LONGBLOBLONGTEXT столбец типа BLOB или TEXT, максимальная длина 4294967295 символов
ENUM перечисление строковый объект, может иметь только одно значение из списка, максимальное количество уникальных элементов – 65535
SET множество строковый объект, может иметь 0 или больше значений из списка, максимальное количество элементов – 64

Требования к памяти для числовых типов

Тип столбца Требуемая память
TINYINT 1 byte
SMALLINT 2 байта
MEDIUMINT 3 байта
INT 4 байта
INTEGER 4 байта
BIGINT 8 байтов
FLOAT(X) 4, если X <= 24 или 8, если 25 <= X <= 53
FLOAT 4 байта
DOUBLE 8 байтов
DOUBLE PRECISION 8 байтов
REAL 8 байтов
DECIMAL(M,D) M+2 байт, если D > 0, M+1 байт, если D = 0 (D+2, если M < D)
NUMERIC(M,D) M+2 байт, если D > 0, M+1 байт, если D = 0 (D+2, если M < D)

Требования к памяти для типов даты и времени

Тип столбца Требуемая память
DATE 3 байта
DATETIME 8 байтов
TIMESTAMP 4 байта
TIME 3 байта
YEAR 1 байт

Требования к памяти для символьных типов

Тип столбца Требуемая память
CHAR(M) M байт, 1 <= M <= 255
VARCHAR(M) L+1 байт, где L <= M и 1 <= M <= 255
TINYBLOB, TINYTEXT L+1 байт, где L < 2^8
BLOB, TEXT L+2 байт, где L < 2^16
MEDIUMBLOB, MEDIUMTEXT L+3 байт, где L < 2^24
LONGBLOB, LONGTEXT L+4 байт, где L < 2^32
ENUM(‘value1′,’value2’,…) 1 или 2 байт, в зависимости от количества перечисляемых величин (максимум 65535)
SET(‘value1′,’value2’,…) 1, 2, 3, 4 или 8 байт, в зависимости от количества элементов множества (максимум 64)

VARCHAR, BLOB и TEXT являются типами данных с переменной длиной строки, для таких типов требования к памяти в общем случае определяются реальным размером величин в столбце (представлен символом L в приведенной выше таблице), а не максимально возможным для данного типа размером. Например, столбец VARCHAR(10) может содержать строку с максимальной длиной 10 символов. Реально требуемый объем памяти равен длине строки (L) плюс 1 байт для записи длины строки. Для строки ‘abcd’ L равно 4 и требуемый объем памяти равен 5 байтов.

В случае типов данных BLOB и TEXT требуется 1, 2, 3 или 4 байта для записи длины значения данного столбца в зависимости от максимально возможной длины для данного типа.

Если таблица включает в себя столбец какого-либо типа с переменной длиной строки, то формат записи также будет переменной длины. Следует учитывать, что при создании таблицы MySQL может при определенных условиях преобразовать тип столбца с переменной длиной в тип с постоянной длиной строки или наоборот.

Размер объекта ENUM определяется количеством различных перечисляемых величин. Один байт используется для перечисления до 255 возможных величин. Используя два байта, можно перечислить до 65535 величин.

Размер объекта SET определяется количеством различных элементов множества. Если это количество равно N, то размер объекта вычисляется по формуле (N+7)/8 и полученное число округляется до 1, 2, 3, 4 или 8 байтов. Множество SET может иметь максимум 64 элемента.

Continue reading “Типы полей в MySQL”

Техники тест-дизайна

Классы эквивалентности (Эквивалентное разбиение)

деление на группы, обработка которых приведет к одному результату

есть позитивные и негативные

 

Граничные значения (Анализ граничных значений)

+1 и -1 значение на границе каждого класса эквивалентности

 

Попарное тестирование (PAIRWISE TESTING)

это техника формирования наборов тестовых данных из полного набора входных данных в системе, которая позволяет существенно сократить количество тест-кейсов.

 

Таблица принятия решений

Другое название метода – матрица принятия решений. Эта техника подходит для более сложных систем, например – двухфакторной аутентификации. Предположим, чтобы войти в систему, пользователю нужно ввести сначала логин и пароль, а затем еще подтвердить свою личность присланным в смс кодом.

Какие возможны сценарии:
1.       Правильный логин и правильный пароль.
2.       Правильный логин, неправильный пароль.
3.       Неправильный логин, правильный пароль.
4.       Неправильный логин, неправильный пароль.

 

Тестирование состояний и переходов

Техника для визуализации ТЗ. Она наглядно показывает, как некий объект переходит из одного состояния в другое.

Причина и следствие

Это, как правило, ввод комбинаций условий (причин), для получения ответа от системы (Следствие). Например, вы проверяете возможность добавлять клиента, используя определенную экранную форму. Для этого вам необходимо будет ввести несколько полей, таких как “Имя”, “Адрес”, “Номер Телефона” а затем, нажать кнопку “Добавить” – эта “Причина”. После нажатия кнопки “Добавить”, система добавляет клиента в базу данных и показывает его номер на экране – это “Следствие”.

Предугадывание ошибок

Это когда тест аналитик использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы “предугадать” при каких входных условиях система может выдать ошибку. Например, спецификация говорит: “пользователь должен ввести код”. Тест аналитик, будет думать: “Что, если я не введу код?”, “Что, если я введу неправильный код? “, и так далее. Это и есть предугадывание ошибки.

Модели разработки

Waterfall (классическая\водопадная\каскадная)

каждый этап разработки продолжает предыдущий

для перехода на новый этап обязательно должны завершить текущий

 

V модель

этапы разработки и тестирования идут попарно начиная с первого этапа разработки

 

Итерационный подход

жизненный цикл продукта разбит на ряд небольших циклов

каждый цикл это самостоятельная единица

Классификация тестирования по уровням

Компонентное \ Модульное \ Unit тестирование

тестирование компонентов(модулей) системы

например корзины на веб  сайте

 

Интеграционное тестирование

тестирование взаимодействия между модулями системы или внешними интеграциями и системой

 

Системное тестирование

полная проверка приложения \ сайта

 

Приемочное тестирование

тестирование проводимое при сдаче функционала заказчику

  • Пользовательское приемочное тестирование UAT (тестирование конечным пользователем)
  • Эксплуатационное (тестирование бекапов, восстановления системы, безопасность)
  • Тестирование на соответствие контракту (проверка на соответствие госту или приемочной спецификации)
  • Альфа тестирование (Эксплуатационное тестирование на стороне разработчиков)
  • Бета тестирование (во внешней среде без участия разработчиков, группой пользователей)

 

Идентификация, аутентификация и авторизация: определения

Идентификация, аутентификация и авторизация: серьезные определения

Итак, что же значат термины «идентификация», «аутентификация» и «авторизация» — и чем соответствующие процессы отличаются друг от друга? Для начала проконсультируемся с «Википедией»:

  • Идентификация — процедура, в результате выполнения которой для субъекта идентификации выявляется его идентификатор, однозначно определяющий этого субъекта в информационной системе.
  • Аутентификация — процедура проверки подлинности, например проверка подлинности пользователя путем сравнения введенного им пароля с паролем, сохраненным в базе данных.
  • Авторизация — предоставление определенному лицу или группе лиц прав на выполнение определенных действий.

Объясняем идентификацию, аутентификацию и авторизацию на енотах

Выше было очень много умных слов, теперь давайте упростим до конкретных примеров. Скажем, пользователь хочет войти в свой аккаунт Google. Google подходит лучше всего, потому что там процедура входа явным образом разбита на несколько простейших этапов. Вот что при этом происходит:

  • Для начала система запрашивает логин, пользователь его указывает, система распознает его как существующий — это идентификация.
  • После этого Google просит ввести пароль, пользователь его вводит, и система соглашается, что пользователь, похоже, действительно настоящий, раз пароль совпал, — это аутентификация.
  • Скорее всего, Google дополнительно спросит еще и одноразовый код из SMS или приложения. Если пользователь и его правильно введет, то система окончательно согласится с тем, что он настоящий владелец аккаунта, — это двухфакторная аутентификация.
  • После этого система предоставит пользователю право читать письма в его почтовом ящике и все в таком духе — это авторизация.

Posts navigation

1 2 3 5 6 7 8 9 10 11 135 136 137
Scroll to top