본문 바로가기
반응형

MySql23

MariaDB error 1005 : Foreign key constraint is incorrectly formed 해결하는 법 MariaDB에 외래키를 적용하다가 errno: 150 "Foreign key constraint is incorrectly formed" 이러한 오류 났습니다.. ㅎ.. 1. 데이터 타입이 일치여부를 확인했습니다. 메인키가 VARCHAR(20)면 외래키도 VARCHAR(20)여야 합니다. 2. 기본키와 참조하려는 외래키가 모두 NOT NULL 체크여부 3. 참조하는 키(Reference Key)가 기본키 혹은 유니크 여부? 모두 이상 없었습니다.. 그래도 계속 에러해결이 안되서 컬럼명에 오타가 있나 몇번이나 확인해봤는데 안되더라구요.. 구글의 힘을 빌려 서치를 하다가 결국에 문제를 찾았습니다. !! 바로.. ! 기본키에는 Charset 과 Collation 이 utf8mb4 로 되어있었고 외래키에는 u.. 2023. 2. 17.
데이터베이스의 정석 - CHAPTER 06 연습문제 1. CREATE TABLE 명령어에서 속성의 제약 조건 설정을 위한 것이 아닌 것은? ① CASCADE ② CHECK ③ UNIQUE ④ DEFAULT 2. 다음 중 CREATE TABLE 구문으로 명세할 수 없는 것은? ① 데이터 유형 ② 대체키 ③ 참조 무결성 ④ 슈퍼키 3. SQL 명령문 중 데이터 정의어(DDL)에 해당하는 것은? ① REVOKE문 ② ALTER문 ③ SELECT문 ④ GRANT문 4. SQL 명령문 중 데이터 제어어(DCL)에 해당하는 것은? ① REVOKE문 ② ALTER문 ③ SELECT문 ④ DROP TABLE문 5. 사용자가 허가받은 권한을 다른 사용자에게도 부여할 수 있도록 허용하는 SQL문을 작성 할 때 필요한 명령어 옵션은? ① WITH ROLE OPTION ② W.. 2022. 10. 18.
데이터베이스의 정석 - CHAPTER 05 연습문제 1. 다음 SQL 문장 중 문법적으로 옳은 것은? ① SELECT 이름 FROM 학생 WHERE 학년 IN (1, 2, 3, 4) ; ② SELECT 이름, 학년 FROM 학생 WHERE 학년 = NULL ; ③ SELECT 이름, 학년 FROM 학생 ORDER 학년 ; ④ SELECT 학년 FROM 학생 WHERE 이름 = ‘한%’ ; 2. 다음 SQL문 중 문법적으로 옳은 것은? ① SELECT COUNT(학년) FROM 학생 GROUP 학년 ; ② SELECT 학년 FROM 학생 WHERE 이름 = ‘최%’ ; ③ SELECT 이름, 학과 FROM 학생 WHERE 학년 = (1, 2, 3, 4) ; ④ SELECT * FROM 학생 WHERE 학년 IS NULL ; 3. SQL의 SELECT절에 사.. 2022. 10. 18.
데이터베이스의 정석 - CHAPTER 04 연습문제 1. 다음 설명에 해당하는 관계 연산은? 두 릴레이션에서 대응되는 투플들을 결합하면서, 대응되는 투플을 갖지 않는 투플이나 결합 속성에 널 값을 갖는 투플도 결과에 포함시킨다. ① 디비전 ② 동등 조인 ③ 외부 조인 ④ 자연 조인 2. 관계 연산자와 그 표기법으로 옳지 않은 것은? ① 셀렉트 - σ ② 프로젝트 - π ③ 조인 - ⋈ ④ 디비전 - Σ 3. 주어진 릴레이션의 수평적 부분집합을 구하는 데 사용되는 관계 연산자는? ① 프로젝트 ② 셀렉트 ③ 디비전 ④ 조인 4. 관계 대수에서 피연산자인 두 릴레이션이 서로 합병 가능이어야 하는 연산자는? ① 크로스 조인 ② 교집합 ③ 자연 조인 ④ 디비전 5. 다음 관계 대수의 연산 중 한 연산은 나머지 세 연산으로 충분히 표시되므로 기본 연산에 속하지 않는.. 2022. 10. 18.
데이터베이스의 정석 - CHAPTER 03 연습문제 1. 데이터 모델의 구성 요소가 아닌 것은? ① 데이터 타입(구조) ② 데이터 연산 ③ 데이터 제약 조건 ④ 데이터 언어 2. 관계형 데이터베이스 제약 조건 중 한 릴레이션의 기본키를 구성하는 어떠한 속성 값도 널 값이나 중복 값을 가질 수 없다는 조건은 무엇인가? ① 키 제약 조건 ② 참조 무결성 제약 조건 ③ 참여 제약 조건 ④ 개체 무결성 제약 조건 3. 관계형 데이터 모델에서 릴레이션 R의 정의에서 사용된 도메인(속성)의 개수를 의미하는 용어는? ① 외연(extension) ② 카디널리티(cardinality) ③ 내포(intension) ④ 차수(degree) 4. 속성이 가질 수 있는 원자 값들의 범위는? ① 영역(domain) ② 속성(attribute) ③ 차수(degree) ④ 제약 조건.. 2022. 10. 18.
데이터베이스의 정석 - CHAPTER 02 연습문제 1. 데이터베이스 시스템의 장점이 아닌 것은? ① 데이터의 통합성 ② 데이터의 독립성 ③ 데이터의 종속성 ④ 데이터의 일관성 2. 데이터베이스 관리자(DBA)의 역할에 관한 설명으로 거리가 먼 것은? ① 보안 및 권한부여 ② DBMS 개발 ③ 스키마 정의 ④ 백업 및 회복 3. 데이터베이스 관리자(DBA)가 수행해야 하는 역할로 거리가 먼 것은? ① 데이터 접근 권한과 회복 절차 수립 ② 데이터베이스의 구성 요소 결정과 내부 저장 구조 정의 및 수정 ③ 데이터베이스 조작어를 호스트 언어에 포함하여 데이터베이스에 접근 ④ 시스템 감시 및 성능의 종합적인 분석과 성능의 개선 4. DBMS의 필수 기능과 관련 데이터 언어, 사용자의 종류가 바르게 연결된 것은? ① 저장 기능 - DSL - 일반 사용자 ② 조작.. 2022. 10. 18.
데이터베이스의 정석 - CHAPTER 01 연습문제 1. 데이터와 정보에 대한 설명으로 가장 적합한 것은? ① 정보는 데이터를 처리해서 얻을 수 있는 결과이다. ② 정보는 현실 세계에 존재하는 가공하지 않은 그대로의 모습을 의미한다. ③ 데이터는 적절한 의사 결정의 수단으로 사용할 수 있는 수단이다. ④ 데이터와 정보는 같은 의미이다. 2. 파일 처리 방식과 비교하여 데이터베이스 관리 시스템을 활용할 때의 장단점에 대한 설 명으로 옳지 않은 것은? ① 데이터의 중복을 최소화할 수 있다. ② 데이터의 일관성을 유지하기 쉽다. ③ 데이터의 무결성을 유지하기 쉽다. ④ 데이터간의 복잡한 관계로 인하여 표준화가 어렵다. 3. 다음 보기가 설명하는 것은? ⦁ 관계형 데이터베이스 안의 테이블들은 서로 연결해줄 수 있는 공통의 속성을 공유한다. 이때 테이블 간에 같은.. 2022. 10. 18.
MYSQL - 인덱스(INDEX) 인덱스 인덱스 개념 테이블 안의 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터베이스 객체 책 페이지를 목차나 색인을 통해 쉽게 찾는 것과 같은 원리 인덱스의 필요성 SQL 을 실행할 때 , 디스크 접근 횟수를 줄여 검색 속도를 높이기 위함 대부분 DBMS 는 B 트리 (Balanced tree) 구조의 인덱스를 지원 장점 : 루트 노드로부터 리프 노드까지의 탐색 길이가 같아서 모든 데이터에 대한 일정 수준의 검색 시간을 보장 CREATE INDEX 명령문의 형식 CREATE [REVERSE] [UNIQUE] INDEX [인덱스 이름] ON 테이블_이름 ({열_이름[ASC|DESC]},+); '수강' 테이블의 '학번', '과목번호', 열을 대상으로 인덱스 'idx_수강'을 생성하시오 create ind.. 2022. 10. 13.
MYSQL - CREATE TABLE 문, ALTER 문, DROP 문, CREATE USER 명령문 CRATE TABLE 문 create table 학생21 (학번 char(4) not null, 이름 varchar(20) not null, 주소 varchar(50) null default '미정', 학년 int not null, 나이 int null, 성별 char(1) not null, 휴대폰번호 char(13) null, 소속학과 varchar(20) null, primary key (학번), unique (휴대폰번호)); create table 과목21 (과목번호 char(4) not null primary key, 이름 varchar(20) not null, 강의실 char(5) not null, 개설학과 varchar(20) not null, 시수 int not null); create ta.. 2022. 10. 13.
MYSQL - GRANT문, REVOKE문 , DROP USER문 GRANT GRANT 문의 형식 GRANT 권한_내용 ON 권한_대상 TO 사용자_계정; GRANT 권한_내용 ON 권한_대상 TO 사용자_계정 with grant option; grant update, select on univdb1.학생21 to 'user41'@'%' with grant option; 사용자 계정의 권한 확인 show grants; show grants for 'user41'@'%'; REVOKE REVOKE 문의 형식 REVOKE 권한_내용 ON 권한_대상 FROM 사용자_계정; revoke delete on univdb1.* from 'user41'@'%'; DROP USER DROP USER 문의 형식 DROP USER 사용자_계정 drop user 'user41'@'%'; 2022. 10. 13.
LIST