학과 샘플강의

SQLite 전체 15시간 31분 강의당평균 46분 32초

알지오 2016. 8. 12. 09:42



SQLite
전체 : 15시간 31분강의당평균 : 46분 32초

01 데이터베이스 및 SQL (1)
데이터베이스 생성/스키마 정보확인/데이터 내보내기, 가져오기/테이블 생성, 삭제/테이블 구조변경/ 레코드(INSERT, SELECT, UPDATE, DELETE)/내장함수/그룹화
41분 
책갈피 : [00:00] 강의내용 소개/[00:07] database 생성/[00:39] .exit/[01:24] create table/[01:54] table/[02:04] primary key/[02:36] 테이블에 데이터 입력하기/[02:42] 입력한 데이터를 조회하기/[03:00] .exit/[03:10] 설치된 sqlite 폴더 확인/[03:23] 테이블 스키마 정보 확인하기/[03:36] .tables/[04:22] .indices/[04:39] .schema class/[05:29] .header on/[05:49] .mode column/[06:12] .mode list/[06:34] .show/[06:53] .separator/[07:18] 데이터 내보내는 방법/[07:37] .output, .dump/[07:51] .exit/[08:32] 추가된 테이블의 데이터 조회하기/[08:44] .help/[09:03] table (생성, 구조변경, 삭제) 하는 방법/[09:11] table의 개념/[09:45] table 생성/[09:53] DDL/[10:06] create table/[10:37] 주석 표현/[10:56] .schema/[12:25] 제약 조건/[12:30] primary key/[12:54] not null/[13:23] unique 제약 조건/[14:00] rename to/[14:11] .tables/[14:32] add column/[15:00] .schema/[15:19] drop/[15:37] .tables/[15:54] temp table/[16:51] .tables/[17:00] 결과 확인/[17:11] sql 기초 알아보기/[17:23] DML (데이터 조작어)/[17:36] create table/[18:22] .header on/[19:16] drop table/[19:35] create table/[19:44] .schema/[20:52] .header on/[21:01] .mode column/[21:15] 결과 확인/[21:57] select/[22:56] where 절/[23:10] where 절의 조건식/[23:44] 관계연산자의 종류/[24:28] and/[25:24] null and/[25:55] like/[27:11] between and/[27:50] between and 조건을 부정하는 결과 조회/[28:14] between and 연산자를 관계 연산자로 변경/[28:36] in/[29:04] in 조건을 부정하는 결과 조회/[29:26] 내장함수/[29:37] 문자열 조작 함수/[29:48] substr/[30:17] replace/[30:37] 수치 계산 함수 (max, min)/[31:28] max/[31:37] 집계 함수 (count, sum, total, avg)/[32:08] count/[32:48] distinct/[33:05] sum/[33:10] total/[33:33] avg/[33:47] 날짜 함수/[33:52] date/[34:59] time/[35:04] datetime/[35:55] typeof/[36:06] ifnull/[37:02] group by/[37:36] 오름차순 정렬 방법/[37:47] 내림차순 정렬 방법/[38:07] limit/[38:26] update/[39:11] update/[39:44] where/[40:20] delete/[41:07] 결과 확인

02 데이터베이스 및 SQL (2)
테이블 변경/기본키, 외래키/제약 조건/조인 연산/ 인덱스 생성, 삭제
36분 
책갈피 : [00:00] table 심화 과정, intex/[00:11] table/[00:50] .tables/[01:09] alter table, rename to/[01:46] .schema/[02:34] .schema/[02:50] 테이블 제약 조건, 관계형 데이터베이스/[03:49] 기본키/[04:57] 외래키/[05:27] 기본키와 외래키/[05:40] insert/[06:12] drop table/[06:19] 합성키/[07:13] integer/[07:43] drop table/[08:49] create table/[09:26] 결과 확인/[10:55] insert/[12:12] 외래키/[12:17] 키 값/[12:36] 외래키/[13:32] 외래키 있는 테이블 생성/[13:43] 외래키 조건 명시/[14:11] sqlite/[14:20] 외래키 설정 활성화/[14:34] 데이터 조회, 결과 확인/[15:30] table의 제약조건/[15:35] not null/[16:18] table 제약조건/[16:27] not null/[16:45] default/[17:56] drop table, create table/[18:21] unique 제약조건/[18:41] drop table, create table/[19:03] 결과 확인/[19:09] unique 제약조건에 의해 중복된 데이터에 대한 에러 발생/[19:20] not null/[19:38] unique 제약조건/[20:11] insert/[20:34] check 제약조건/[21:04] check 제약조건에 의해 에러 발생/[21:30] 조인연산(join)/[21:50] 조건절의 중첩 질의와 조인연산(join)/[22:20] 중첩 질의/[23:06] 중첩 질의 예제/[23:28] 알리아스/[23:41] 중첩 질의 단점/[23:52] 조인연산(join)/[24:07] 조인연산(join)/[24:22] 내부 조인(inner join)/[25:08] 내부 조인(inner join)/[25:40] 자체 조인(self join)/[26:21] 자연 조인(natural join)/[26:47] .schema/[27:12] 내부 조인(inner join)/[27:25] left join/[28:00] right join/[28:47] cross join/[29:17] 조인연산(join)/[29:37] 오름차순으로 조회/[29:52] 외래키 설정/[30:31] update/[31:00] 결과 확인/[31:25] count/[31:57] group by, having/[32:12] count/[33:17] 조회, 결과 확인/[33:57] index/[34:07] index 단점/[34:28] index 장점/[34:37] index 생성/[35:08] asc/[35:28] 다중 index 생성/[35:40] drop index/[36:00] 결과 확인

03 데이터베이스 및 SQL (3), SQLite C API (1)
뷰/트리거/중첩 트랜잭션/스토리지 클래스/타입선호도/SQLite C API/sqlite3_open()/sqlite3_close() 함수/sqlite3_exec() 함수/sqlite3_get_table() 함수/sqlite3_prepare() 함수/sqlite3_step() 함수/sqlite3_finalize() 함수/sqlite3_bind_parameter_index() 함수/sqlite3_busy_timeout() 함수/예제 처리 함수
58분 
책갈피 : [00:00] 오늘 배울 강의내용/[00:11] .tables/[00:17] join을 사용하여 테이블 두개의 데이터 조회하기/[00:35] 두 테이블의 schema 확인/[01:10] 뷰 예제/[01:35] inner join/[02:14] 뷰/[02:36] select문/[02:48] create view/[03:28] create temporary view/[04:41] drop문/[05:26] 트리거 예제/[06:31] .schema/[07:04] create trigger/[07:25] after/[07:39] for each row/[07:50] for each statement/[08:11] begin end/[09:26] 테이블에 변경이 발생했을 때 트리거 생성/[09:46] begin end/[10:36] 테이블의 데이터가 삭제될 때 처리되는 트리거 생성/[10:57] before/[12:18] drop trigger/[13:04] delete/[13:40] update/[15:26] 트랜잭션/[16:07] 트랜잭션을 처리하는 세가지 명령/[16:16] begin/[16:47] rollback/[17:08] commit/[18:09] savepoint/[18:56] begin, savepoint/[19:20] 중첩 트랜잭션/[19:52] rollback to savepoint/[20:34] commit/[20:54] 동적 자료형/[21:18] 정적 자료형/[22:41] 정수와 문자를 섞어 데이터 추가하기/[22:59] 스토리지 클래스/[23:38] 불리언 타입/[24:01] 타입선호도/[24:06] text/[24:23] numeric, integer, real/[25:11] 다른 데이터베이스 파일에 연결하는 방법/[25:59] .read/[26:34] attach/[27:35] delete/[27:55] create table/[28:25] detach/[28:54] attach/[29:40] sqlite c api 기초/[29:48] 핵심 api, 확장 api/[30:56] visualstudio/[31:18] visualstudio 설치과정/[32:05] 프로젝트 만들기/[32:55] 기존 항목 추가/[33:25] 실행할 파일 만들기/[34:36] project 속성/[35:17] 데이터베이스 연결과 연결종료 함수/[35:31] open() 함수/[36:58] close() 함수/[37:30] 데이터에 연결, 종료하는 방법/[38:06] if문/[38:31] close() 함수/[38:51] open() 함수/[39:18] exec() 함수/[40:28] if not exists/[41:19] callback()/[41:49] get_table() 함수/[42:42] get_table() 함수 실행/[43:06] get_table() 함수 호출/[43:49] prepare, step finalize의 흐름/[45:24] sqlite_row/[45:39] prepare() 함수/[46:40] step() 함수/[47:14] finalize() 함수/[47:36] prepare() 함수/[47:52] finalize() 함수/[48:50] insert문/[49:45] 컬럼정보 파악/[50:31] select문/[51:09] for문/[51:23] 매개변수화 쿼리 함수/[52:55] prepare/[53:17] sqlite_transient/[54:06] bind 함수/[54:32] for문/[54:48] 매개변수에 이름을 붙여서 사용하는 방법/[54:55] bind_parameter_index/[55:33] for문, bind_parameter_index/[55:50] 에러 처리 함수/[56:34] sqlite 홈페이지에서 결과 코드 값 확인/[56:50] close 함수/[57:07] busy 처리 방법/[57:53] busy_timeout() 함수

04 SQLite C API (2), 임베디드 SQLite 최적화 방법 (1)
잠금상태확인/커밋여부, 롤백여부 확인/업데이트여부 확인/권한체크/이스케이프 처리/사용자정의 함수/사용자정의 정렬함수/SQL문 확인/최근 ROWID 확인/자동커밋모드 확인/메모리 사용량 체크/공유 캐시 모드/스레드와 메모리 관리/임베디드 SQLite 최적화 방법
1시간 3분 
책갈피 : [00:00] SQLite C API 고급/[00:11] 잠금상태 확인/[00:49] busy_handler 함수/[01:03] busy_timeout 함수/[01:15] busy_handler, busy_timeout 함수 사용 예제/[01:41] insertthreadfunction/[01:58] busy handler 등록/[02:18] busy timeout 함수/[02:47] 커밋여부/롤백여부 확인/[03:18] commit 예제/[03:46] rollback 함수/[04:49] 커밋 시 호출할 콜백 함수 등록/[05:12] return/[05:55] 업데이트여부 확인/[06:23] 업데이트 시 호출되는 콜백 함수/[07:23] 권한체크/[07:48] 권한체크 함수/[08:31] 권한체크 콜백 함수 등록/[08:47] 콜백함수 반환값 (sqlite ignore)/[09:32] 이스케이프 처리 함수/[09:59] vmprintf 함수와 mprintf 함수의 차이점/[10:06] mprintf 함수 예제/[10:57] 전처리기 정의/[11:43] vmprintf 함수 예제/[12:05] 사용자정의함수/[12:55] xfunc, 수행할 함수/[13:17] xstep, xfinal/[13:37] xfunc 예제/[14:07] xstep, xfinal 예제/[14:55] result error 함수/[15:15] xfinal/[15:31] 결과를 반환하는 함수/[15:39] 사용자정의정렬 함수/[16:23] near/[17:06] sql문 확인 / sql문의 종료여부 확인/[17:34] prepare v2 함수/[17:51] complete 함수/[18:11] sql문의 종료여부 확인 예제/[18:46] last insert rowid 함수/[19:28] 예제, 결과 확인/[20:10] get autocommit 함수/[20:24] 예제, 결과 확인/[21:04] 라이브러리 버전 확인/[21:23] 예제, 결과 확인/[21:37] 메모리 사용량 함수/[21:56] memory highwater 함수/[22:18] close 함수/[22:38] 실행, 결과 확인/[22:57] enable shared cache 함수/[23:05] 공유 캐시 모드/[25:22] 스레드와 메모리 관리/[25:35] heap limit 함수/[25:52] release memory 함수/[26:16] sqlite c api 함수/[26:30] 임베디드 sqlite3 최적화 방법/[26:37] 실행계획/[27:13] table scan/[27:30] index scan/[27:46] explain query plan 키워드/[28:00] 실행계획 예제/[28:15] 실행계획 확인 구문 입력/[29:24] order by절/[30:10] create index/[30:53] where절/[31:31] where, like/[32:09] like 연산자/[32:35] glob 연산자/[33:53] 다중 컬럼 인덱스 생성하는 방법/[34:26] 다중 인덱스 생성/[35:35] union/[36:32] 데이터베이스 파일 크기 최적화/[37:55] vacuum 명령어/[39:35] vacuum/[39:48] auto vacuum 모드/[40:43] 페이지 크기를 결정하기 전 고려할 사항/[41:28] 운영체제의 블록 크기/[42:21] 레코드 크기/[43:22] 최적의 페이지 크기 산출 방법/[44:36] 데이터베이스 파일 검사 방법/[45:08] integrity check/[46:02] integrity check/[46:18] quick check/[46:34] 자료형 검사/[46:59] typeof 함수와 check 제약조건/[47:35] typeof 함수 예제/[49:48] 트랜잭션 사용하지 않은 경우와 사용한 경우 예제/[50:07] journal 파일/[50:26] 롤백저널, 핫 저널/[51:03] journal 파일 예제/[51:53] 핫 저널/[52:08] 저널 파일 처리 방식/[52:27] delete/[52:34] truncate, persist/[53:09] memory,off/[53:35] pragma journal mode/[53:41] truncate/[54:11] 메모리 데이터베이스/[54:59] attach database 구문/[55:20] 일반적인 파일 db를 사용하여 insert 수행/[55:39] 충돌 처리시 옵션/[56:27] abort 옵션/[57:21] rollback 구문/[58:40] fail 옵션/[59:35] ignore 옵션/[01:00:36] replace 옵션/[01:01:53] replace 옵션/[01:02:38] abort 옵션, replace 옵션

05 임베디드 SQLite3 최적화 방법, 언어의 확장, Python과의 연동, Java와의 연동, 안드로이드와 SQLite 데이터베이스
외래키 제약 조건 확장 옵션/SQLite 설정 변경/PRAGMA 구문/최대 캐시 크기 수정/임시 파일디렉토리 설정/디스크 동기화 수준 설정/잠금 모드 설정/자동 파일 크기 최적화 설정 옵션/FTS (Full Text Search) 모듈/언어 확장의 선택/Python 개요/pysqlite 모듈 – Connection 클래스/pysqlite 모듈 – Cursor 클래스/APSW/Java와의 연동/Eclipse 툴을 사용한 SQLite 연동/데이터베이스 연결/SQL문 실행/안드로이드와 SQLite 데이터베이스/안드로이드 개요/안드로이드 애플리케이션 개발의 선행요건/안드로이드 개발환경 설정/SQLite 데이터베이스관련 클래스
1시간 17분 
책갈피 : [00:03] 외래키 제약조건 확장/[00:28] PRAGMA 구문/[00:34] 결과값 0/[00:40] 결과값 1/[00:51] 참조무결성제약조건/[01:24] 확장 옵션/[01:52] Create table/[02:18] CASCADE/[03:31] 외래키제약조건위반에러/[04:09] 설정 변경/[04:42] application_id/[04:52] integer(옵션설정값)/[04:58] 성능저하/[05:07] cache/[05:51] Pragma cache size/[06:39] 임시 파일디렉토리/[07:08] temp_store/[08:15] 임시파일설정 조회/[08:41] 디스크동기화수준/[09:05] PRAGMA synchronous/[10:15] PRAGMA locking_mode/[11:35] 자동파일크기최적화/[13:09] 대소문자 구별/[13:58] PRAGMA encoding/[14:48] FTS 모듈/[16:46] FTS table test/[18:04] Index already optima/[20:32] 언어 확장/[20:35] Python과의 연동/[23:46] Python 설치/[24:01] Ver. 3.4.3/[24:12] 환경변수/[24:34] 홈 경로/[25:05] transient in-memory database/[25:33] pysqlite 모듈/[25:46] Connection 클래스/[26:01] Cursor 클래스/[26:07] excute/-many/-script/[26:17] fetchone/-many/-all/[26:20] 리스트형태로 반환/[26:25] 데이터베이스연결/[26:46] connection method/[27:22] sqlite 실행/[29:09] excutescript method/[29:28] 데이터 조회 방법/[31:54] con.commit/[32:50] 사용자 정의 함수/[33:00] create function method/[34:09] 사용자 정의 집합체/[35:14] DB 연결/[35:23] 사용자 집합체 등록/[36:06] APSW/[36:39] JAVA 연동/[36:49] Eclipse/[36:56] 직접 DB 연결/[37:07] JAVA 설치/[37:11] JDK 1.4 버전이상/[37:49] ORACLE 홈페이지/[37:59] JAVA SE/[38:18] 환경변수 설정/[38:48] javac/[39:21] 범용 응용SW 플랫폼/[39:39] java EE Developers/[43:52] Ctrl + Alt + X/[46:38] Java Build Path/[49:10] 데이터 수정/[49:16] PrepareStatement/[49:45] setInt/[50:17] 데이터 삭제/[51:03] 테이블 생성/[51:14] executeUpdate/[51:34] 데이터 추가/[51:44] preparedStat/[52:00] addBatch/[52:07] executeBatch/[52:28] 테이블 삭제/[52:37] drop/[52:58] Android/[53:33] Linux Kernel/[53:53] Runtime/[54:10] App Framework/[54:29] 시스템 요구사항/[55:24] 개발환경설정/[01:00:17] AVD manager/[01:00:32] create virtual device/[01:01:13] activity_main.xml/[01:01:54] DB 관련 클래스/[01:03:13] OpenHelper 클래스/[01:04:35] OpenHelper 클래스 메서드/[01:07:58] Database 클래스/[01:08:26] DB 클래스 주요 메서드/[01:09:12] openDB 옵션/[01:10:28] SQL명령실행 메서드/[01:12:55] SQL사용편의 메서드/[01:14:21] 트랜잭션 메서드

06 안드로이드와 SQLite 데이터베이스, iOS의 SQLite3 활용
SQLite 안드로이드 애플리케이션 고려사항/데이터베이스 백업/SQLiteCommender 애플리케이션 예제/야구팀리스트 출력 애플리케이션 예제/iOS 애플리케이션 개발의 선행요건/SQLite 데이터베이스에 접근 및 쿼리 방법/회원가입 및 로그인 예제
41분
책갈피 : [00:03] BackupAgent 구현/[00:15] Manifest/[00:30] 백업 API 키를 등록/[00:47] BackupAgentHelper/[00:59] SharedPreferences file/[02:06] FileBackupHelper/[02:21] onBackup method/[02:34] onRestore method/[03:08] dataChanged method/[03:29] 예제1/[05:00] intent-filter/[05:11] category/[07:42] EditText/[08:22] hint/[08:30] layout_above/[08:49] Button/[10:00] MainActivity/[10:14] onCreate/[10:52] onPause/[11:05] onResume/[11:14] btnRunClick/[11:30] appendResultText/[11:54] executeSql/[12:41] SQLexception/[13:02] getMessage/[13:25] showResult/[13:54] moveToFirst/[15:31] 테이블 만들기/[16:54] 예제2/[17:28] 팀리스트 버튼 추가/[17:37] onClick/[17:55] layout resource file/[18:38] LinearLayout/[18:46] orientation/[18:58] activity class/[19:56] Intent/[20:22] startActivity/[20:57] ListAdapterForCursor/[21:34] _id/[22:24] bindView/[23:36] ios app/[23:53] readFoodsFromDB/[25:56] sqlite3_column_text/[26:16] 회원가입 및 로그인 예제/[30:21] OnClickListener/[31:47] CheckDuplication/[33:24] SQLiteOpenHelper/[36:46] getWritableDB/[40:13] ValidDB

07 SQLite 실습 예제 (1)
도서목록 생성, 조인연산 심화 실습을 진행합니다.
42분
책갈피 : [00:05] 도서목록 구현/[00:20] 데이터 수정,삭제/[00:38] BOOK_LIST/[02:15] Activity class 생성/[02:38] ListActivity/[03:03] MainActivity/[03:22] setContentView/[03:39] Alt+ Enter key/[03:48] setOnClickListener/[03:58] MoveToNextActivity/[05:29] DatabaseHelper/[05:43] ListView/[05:52] setOnItemClickListener/[06:24] 도서목록순번값/[06:31] visibility="gone"/[06:52] Spinner/[07:06] BindSpinnerItems/[07:16] ArrayAdapter/[07:25] GetColumnNames/[07:41] OnItemSelectedListener/[08:18] Search method/[08:56] ASC/[09:03] DESC/[10:31] DatabaseHelper/[10:39] SQLiteOpenHelper/[11:06] IF NOT EXISTS/[11:21] AUTOINCREMENT/[12:44] AddData method/[12:54] ContentValues/[13:31] UpdateData method/[14:22] DeleteData method/[14:53] SearchDAta method/[15:24] null/[16:40] LOWER 함수/[17:03] UPPER 함수/[17:26] 애플리케이션 실행/[20:32] orderby/[20:40] 예제3/[21:10] 띄어쓰기/[22:04] 외래키/[22:19] FOREIGN KEY/[23:05] AUTOINCREMENT/[23:15] DEFAULT/[24:49] INSERT INTO/[26:26] BindSpinnerItems/[27:12] 도서목록테이블 조회 함수/[28:31] AddDataForBookList/[28:51] 출판사,저자 순번/[29:27] 추가데이터 조회 함수/[30:17] INNER JOIN/[31:37] JOIN 연산/[32:10] 자체 JOIN/[32:16] 동일 테이블 연결,조회/[34:05] 별칭 지정/[35:18] 자연 JOIN/[38:55] Cross JOIN/[39:24] 중첩 쿼리/[40:14] 외부 JOIN/[41:34] 집계함수/[41:59] Max,Min

08 SQLite 실습 예제 (2)
서브쿼리/서브쿼리 결과 행 추가/여러 행 추가/복합쿼리/Case수식/트리거/데이터수정이 가능한 뷰/트랜잭션
43분
책갈피 : [00:12] 예제4/[00:36] header on/[00:45] mode column/[00:52] nullvalue NULL/[00:54] Null 있는 테이블 조회/[01:10] Null value option 설정/[02:20] join 연산 변경/[04:03] in / not in/[04:27] count/[06:06] temp table/[07:29] schema 비교/[08:40] 복합 쿼리 예제/[09:00] union/[09:30] union all/[10:16] intersect/[10:51] except/[11:52] case when + 조건/[12:03] then + 결과/[12:11] end as note/[12:41] left join/[13:20] view테이블, index/[13:35] 파생 테이블/[15:41] temporary view/[17:09] where title is not null/[17:22] drop view/[17:27] Error/[17:55] create index/[18:16] explain query plan/[18:53] 다중열 인덱스/[19:49] 비동등 연산자 지정/[20:55] 예제5/[21:26] width/[23:51] create temp trigger/[25:12] Update trigger/[27:56] trigger D ELETE/[28:51] width null/[30:15] new, old/[31:19] delete index 생성/[31:37] 데이터삭제/[31:41] view 재조회/[32:13] 추가 수정,삭제 제어/[32:25] drop 구문/[32:48] cannot modify/[33:34] alter/[35:31] 트랜잭션/[37:05] rollback/[38:06] auto commit mode/[38:49] savepoint 지정/[40:35] 동시 두 개 실행/[40:56] database is locked/[41:32] 교착상태/[42:12] begin immediate

09 SQLite 실습 예제 (3)
자주 사용하는 쿼리 예제, SQL 문제를 통해 함수나 조인을 활용한 실습을 진행합니다.
43분
책갈피 : [00:03] DB연결/[00:06] 테이블 조회/[00:25] 조회할 데이터 범위 지정/[00:26] 같은 값 찾기/[00:55] 부등호 입력/[01:32] between A and B/[02:39] and/[02:56] TITLE like 'Object%'/[03:29] '%S%'/[03:42] where upper(TITLE)/[04:20] '%t'/[04:30] where lower(TITLE)/[05:09] 인덱스미지정 테이블 조회/[05:31] explain query plan/[05:49] where NAME like '홍길&'/[06:20] primary key 값 조회/[06:21] 인덱스 추가, 관리/[06:43] 문자열 조작 함수/[06:52] trim (' ABCD ')/[07:09] 양끝 공백 제거/[07:20] replace/[08:17] 문자열 일괄변경/[08:30] replace(NAME,'길','기')/[08:38] substr/[09:34] 중첩 사용 가능/[09:59] length/[10:35] 집계함수/[10:47] 저자 순번별 최고가 찾기/[10:54] MAX(PRICE)/[11:10] MIN(PRICE)/[12:49] inner join/[14:26] left join/[14:45] 순번없어도 데이터 출력 가능/[15:06] null 추출 가능/[16:06] 알리아스 부여 (a)/[16:24] MAX_PRICE/[16:50] having MAX(PRICE)/[17:44] Count/[19:47] null 데이터 제외 후 출력/[20:26] 로그인 테이블 조회/[20:56] create temp table/[21:52] insert/[22:00] select/[22:49] update/[23:47] rollback/[24:29] commit/[24:37] delete/[25:15] where ID not in/[25:59] SQL 실습/[26:10] 테이블 수정하기/[26:29] 해당 테이블 스키마 조회/[27:32] 테이블 추가하기/[27:42] product 테이블/[27:53] order, order_detail 테이블/[28:30] create table/[30:20] 주문서테이블에서 데이터 출력하기/[31:23] case when , is null then/[31:31] else , end as /[32:16] is not null/[32:28] 내림차순 (desc)/[34:12] 상품명/[34:37] sum, group by/[35:10] total_cnt, total_amt/[36:13] offset 1/[36:42] 주문량/[38:21] limit 1/[39:03] 월별 평균 구매금액 구하기/[39:14] substr/[40:43] 배송미완료 건수 구하기/[41:34] having count/[41:47] 최고구매금액 고객주문명세서 출력

10 SQLite 실습 예제 (4)
트랜잭션과 트리거를 활용한 입출금내역/명시적 형변환/타입검사/내장정렬함수의 사용/트리거를 활용한 일괄 업데이트/수강신청예제 : 테이블 생성 및 조회
50분
책갈피 : [00:05] 트리거를 활용한 입출금내역/[00:33] create table/[00:42] BANK_IDX/[00:58] STATE_FLAG/[01:15] EVENT_DATE/[01:25] EVENT_TIME/[01:29] AMOUNT/[02:44] create temp trigger/[02:56] before insert on/[03:04] begin/[03:13] insert into/[03:19] values/[03:19] end/[04:22] CHECK constraint failed/[04:55] drop trigger/[05:23] select raise/[05:31] 해결책, 에러메시지/[07:30] rollback/[07:52] update trigger/[08:14] 이벤트구분플래그/[08:44] 발생일시/[09:11] current date, current time/[09:43] before, after/[10:24] old.BANK_IDX, old.MEMO/[11:23] rollback/[11:30] 데이터 재복원/[11:58] cannot rollback/[12:11] transaction/[13:21] 트리거 삭제, 재생성/[14:51] case when, then, else, end as/[15:11] From + 조회타겟 테이블 입력/[15:25] 코드 테이블과 Join/[15:38] 코드 대 구분자/[16:17] A.STATE_FLAG = B.CODE/[16:44] 직계함수 사용, 입출금 건수/[17:24] SUM 함수/[18:10] 입출금 데이터 분리/[18:25] 출금가능여부 입력/[18:38] where절, between, and/[19:21] 명시적 형변화, 타입검사/[19:27] 내장정렬함수/[19:46] 숫자타입 100, 문자열타입 '100'/[20:12] 숫자로 인식, 계산/[20:23] 100 + 'ABC'/[20:44] 문자열 → 0/[20:48] Null과의 연산 → Null/[21:11] Cast 연산자/[21:16] 소수점 있는 숫자/[21:35] cast(100.12 as integer)/[21:47] cast(100.12 as text)/[22:05] 숫자+문자 데이터/[22:13] '100ABCD200' as real/[22:37] 공백이 있는 경우/[23:17] 'ABCD200' as real)/[23:26] LOG 테이블에 version 추가/[23:31] alter table, add/[24:28] Update, Delete/[25:10] typeof/[26:20] 정렬함수/[26:45] TEXT_BINARY collate binary/[27:08] TEXT_NOCASE collate nocase/[27:13] TEXT_RTRIM collate rtrim/[28:06] 데이터 입력, 대·소문자, 공백/[28:42] TEXT = TEXT_RTRIM/[29:01] 'aBCd' = TEXT_NOCASE/[29:38] TEXT_BINARY collate NOCASE/[30:31] dump LOG/[30:46] output LOG/[32:14] read ALL_TABLE/[33:22] 트리거를 활용한 데이터 추가/[33:32] 수강신청 예제/[34:25] RECEIVE_DATA/[34:39] SEND_YN/[35:01] SEND_DATA/[35:40] MEMO(실데이터)/[35:50] trigger 생성/[36:23] N update/[36:39] Y update/[37:47] Create table professor,grade/[38:03] COURSE/[38:13] Professor_IDX, Grade_IDX/[38:36] 외래키 제약조건 설정/[38:58] 참조 무결성 활성화 확인/[39:25] pragma/[40:07] FOREIGN KEY constraint failed/[40:39] unique 제약조건/[41:31] 데이터 출력/[41:41] 별칭 부여 (as)/[42:45] 과목명이 길 경우 width 옵션/[43:06] Null → 미배정/[43:28] ifnull/[44:02] Android 미배정/[44:16] ifnull=쿼리의 가독성↑/[45:34] where, is not null/[45:45] length > 0/[46:42] in/[47:23] 과목 IDX = 참조키로 지정/[47:43] trigger 생성/[48:37] 신청 인원수 업데이트/[48:53] 정원초과(Error)/[49:12] 데이터 출력/[49:33] 완료, 가능/[50:13] where D.IDX = 1

11 SQLite 실습 예제 (5)
학생테이블,학과테이블,개인시간표테이블에 대한 생성과 데이터조작/코드테이블과 학점테이블에 대한 생성과 데이터  추가/학점테이블과 학생,과목테이블의 조인/학점테이블에서 최소,최대,평균 값 구하기/집계함수에서의 조건절/학점테이블과 학생,과목테이블의 조인/학점별 평균구하기/문장으로 출력하기/group_concat 함수의 사용/sum함수와 total함수의 사용 및 차이
50분
책갈피 : [00:03] 학사시스템 사용 테이블/[00:29] IDX, 학과명, 학생 테이블 생성/[02:08] 학생 테이블(A), 학과테이블(B)/[02:28] inner join DEPARTMENT/[03:38] order by , where/[03:43] 추가,삭제, 수정 등 변경불가/[04:49] rollback/[06:53] 추가 trigger 생성/[07:02] instead of/[07:26] 새 키워드/[08:15] 데이터 추가/[08:23] insert into VIEW_STUDENT/[10:10] Select IDX/[10:26] 데이터 변경/[11:03] 삭제 trigger 생성/[11:14] instead of delete on/[11:39] 하위 테이블 데이터 선삭제/[12:51] 학생,과목 IDX (외래키 참조)/[13:12] insert into LECTURE_TIMETABLE/[13:41] inner join/[14:42] 과목명 길이 조정 (Width)/[17:14] 학점별 평균/[17:36] round 함수/[20:31] 점수 세분화 원할 시/[22:15] 최소학점, 최대학점 (문장으로 출력)/[24:09] group_concat/[26:49] total/[27:52] update GRADE_POINT_AVERAGE/[28:37] ifnull/[29:49] 모든 값을 정수로 료현/[30:09] total(MIDTERMS_GPA)/[30:31] Error (integer overflow)/[31:10] Random 함수/[31:29] select random/[32:06] order by IDX (오름차순 정렬)/[32:26] order by IDX desc (내림차순 정렬)/[33:18] order by random/[33:37] 정렬과 상관없이 랜덤 출력/[34:41] ROWID <= 2/[35:22] order by random() limit/[36:40] order by IDX limit/[37:40] order by IDX limit , offset/[38:45] random() limit 2 offset 3/[39:15] 예제(복권번호)/[39:39] with, LOTTO/[40:02] order by random() limit 7/[40:16] 출석관리 테이블/[40:29] IDX,COURSE,STUDENT,ATTENDANCE/[41:26] 학생별 출석 등록할 데이터 생성/[42:26] N(결석), Y(출석)/[42:40] 학생별 출석,결석 수 조회/[42:49] Count 함수/[43:23] COUNT(1) AS ATTEND_Y/[43:25] 0 AS ATTEND_N/[43:26] group by 학생명/[43:37] union/[43:43] 0 AS ATTEND_Y/[43:45] COUNT(1) AS ATTEND_N/[43:49] where (결석한 조건 입력)/[44:43] case/[45:34] 결석 연속 여부 확인/[45:47] 출석여부 조회/[47:19] group_concat/[48:00] where like/[48:56] where instr

12 SQLite 실습 예제 (6)
교내식당결제 예제, 티켓예매사이트 예제를 진행합니다.
1시간 7분
책갈피 : [00:00] 학생식당 관련 테이블,데이터/[00:13] 식단/[00:15] 일자,메뉴번호(프라이머리키로 활용)/[00:33] TOTAL_KCAL/[00:58] 데이터 생성/[01:10] 판매 테이블 생성/[01:20] IDX/[01:48] SALES_COUNT NUMBER/[01:57] SALES_PRICE NUMBER/[02:13] RECEIVE_PRICE NUMBER/[02:13] 데이터 추가/[02:40] insert into /[02:59] select/[03:50] 식단 평가 테이블/[03:59] SALES_IDX/[04:10] APPRAISAL_SCORE/[04:17] ANSWER_YN/[04:25] 참조 테이블 명시/[05:17] update/[06:42] 결제방법/[07:34] SYSTEM_CODE_MASTER/[08:30] SYSTEM_CODE_DETAIL/[10:02] 칼로리 max, min/[13:07] 메뉴별 판매건수, 금액/[13:52] RECEIVE_KIND/[15:18] 평점/[16:33] select max/[16:58] null as MIN_MENU/[17:00] 0 as MIN_APPRAISAL_SCORE/[17:07] union/[17:17] null as MAX_MENU/[17:21] 0 as MAX_APPRAISAL_SCORE/[17:39] 평점 건당 마일리지 적립/[17:56] 미응답률 감소/[19:51] 응답일자 추가/[20:00] alter table/[20:43] update/[21:25] rollback/[24:12] drop table/[24:41] create temp table/[25:07] 마일리지 테이블/[25:19] APPRAISAL_IDX/[25:21] SAVE_DATE,MILEAGE/[26:13] after update of/[28:55] 학생별 마일리지 조회/[29:21] left outer join/[30:33] 마일리지로 결제/[31:48] alter table/[32:45] create view/[33:16] create trigger/[33:26] before insert on/[35:29] 사용여부, 일자 update/[36:52] select date (start of month)/[37:19] start of  month,+1month,-1day/[37:33] 일별/[38:24] 예매사이트 구현/[38:35] RE_GENRE/[40:18] 코드 테이블 추가/[40:32] TYPE_CODE, TYPE_NAME/[41:04] Place,Tel No,Address/[45:25] schema RE_ITEM/[46:31] 장르 사용여부(Y) 조회/[46:58] 정렬 구분자/[48:55] +1 days, +7 days/[52:10] create view/[54:10] 마스터 코드 생성/[54:19] 디테일 코드 생성/[54:34] commit/[55:43] 좌석 테이블/[55:59] SEAT_CODE,AMOUNT,FIXED_NUM/[58:09] PRAGMA foreign_keys/[58:50] 공연별 일자, 시간 테이블/[59:41] 예매 기초데이터 테이블/[01:01:01] RE_SEAT/[01:01:10] alter table/[01:01:19] LINE,BEGIN_SEAT_NUM,END_SEAT_NUM/[01:01:59] 예매 정보 테이블/[01:02:43] syntax error (near "foreign")/[01:04:47] 예약 테이블/[01:05:15] 결제내역 테이블

13 SQLite 실습 예제 (7)
데이터베이스내 전체 테이블 목록 조회/이너조인과 레프트조인 연산/insert 트리거/delete 트리거/특정 컬럼에 대한 update 트리거 생성/뷰의 삭제/뷰의 생성/테이블 생성시 제약조건
48분
책갈피 : [00:05] 추가 테이블 리스트 보기/[00:07] tables/[00:27] 장르 선택할 데이터 조회/[00:37] where USE_YN='Y'/[00:47] RE_ITEM/[01:11] schema VIEW/[01:41] drop view/[02:45] TITLE 추가/[03:47] 장르 테이블 Join/[04:18] 테이블 목록 출력/[04:52] 시트 테이블/[04:59] SEAT_CODE/[05:16] TYPE_CODE, TYPE_NAME/[06:09] SEAT_NAME/[06:21] view table join 연산/[06:50] V.GENRE_NAME, V.TITLE/[10:29] 좌석 매진여부 확인 테이블/[10:50] Join 연산, View 생성/[11:44] Create View/[12:00] Select문 우선 조회/[13:20] 예약 테이블, 결제이력 데이터/[13:34] Ticket_List_IDX/[13:57] SY005, SY006/[14:44] Discount_Name, Deliver_Name/[17:02] Left Join/[18:51] Null/[19:11] rollback/[20:51] create trigger/[21:02] before insert on/[21:16] begin/[21:38] select case when/[22:35] end/[22:48] 좌석 매진여부 확인(Ticket_List)/[23:39] Error (매진)/[24:28] Error (예매된 좌석)/[26:53] create temp trigger/[27:03] after insert on/[27:14] for each row/[27:58] begin/[28:06] insert into/[29:35] 좌석 C1/[30:10] after delete on/[30:27] delete from/[31:11] rollback/[31:50] after update of /[34:04] 예약내역 확인/[35:08] drop view/[35:54] View 생성,조회/[36:29] create temp trigger/[36:40] instead of update on/[37:58] 결제정보에 데이터 추가/[40:24] PAY_FULL_YN → Y/[40:29] 집계 데이터 조회/[40:50] Customer_IDX로 고객정보테이블 생성/[41:13] ID text not null unique/[42:14] select distinct CUSTOMER_IDX/[42:47] substr/[44:04] 성별에 따른 예매율/[44:18] sum, case when/[44:47] count/[46:15] where CHARGE is not null/[46:28] union/[46:36] where CHARGE is null

14 SQLite 실습 예제 (8-1)
방송 프로그램 데이터베이스를 제작합니다.
33분

15 SQLite 실습 예제 (8-2)
방송 프로그램 데이터베이스를 제작합니다.
33분

16 SQLite 실습 예제 (9)
도서판매 앱의 데이터베이스를 제작합니다.
47분

17 SQLite 실습 예제 (10)
SNS의 글올리기, Like 건수, 팔로우 건수 등을 데이터베이스로 제작합니다.
44분

18 SQLite 실습 예제 (11)
병원 예약 시스템 데이터베이스를 제작합니다.
34분

19 SQLite 실습 예제 (12)
세탁서비스 앱의 데이터베이스를 제작합니다.
36분

20 SQLite 실습 예제 (13)
학생 성적 관리 데이터베이스를 제작합니다.
45분 



샘플확인 : 알지오 검색후 -> 강의검색란 -> SQLite 



※ 다음 강의는 순차적으로 업데이트 진행중입니다.