본문 바로가기
데베 14주차 시험범위 내장함수 ~ 배운데 트리거 : 특정 조건이 만족하면 저절로 실행되는 함수 행트리거 for each row : 각각 실행 트리거 이벤트 after : 동작 수행 후 before : 동작 수행 전 문장 트리거 insert update delete 문 을 수행할떄 after insert on triaaa for each row begin sql 쿼리; end; 형태 트리거를 이용해서 한 테이블에 insert를 하면 다른 테이블은 delete나 update 등을 하게 할 수 있다 위의 트리거를 적용하기 위해서 상품, 주문 테이블을 만들어본다 create database examtri; use examtri; create table goods( proname varchar(20) primary key, .. 2023. 12. 1.
컴알 14주차 시험내는거 중간 절반 힙정렬 - 제자리정렬(상향식 정렬), 삽입식이 아니라 상향식이다 루트를 삭제하고 힙 속성을 복원하는 것 까지가 한 단계이다 퀵정렬 - 비균등, 시작값과 high 값을 교환한다! avl 인접리스트, 인접행렬로 각각 탐색하는거 인접 행렬은 배열 형태라서 인덱스가 작은 정점부터 돈다 인접리스트는 오름차순, 내림차순 두개 다 된다 실습문제로 푼 문제 다시보기 dfs, bfs는 탐색 결과만 내기 크루스칼 - 최종값만 동일한 가중치가 있을때는 인덱스가 작은 정점 부터 방문, 최종 결과를 물어본다 프림 - 중간 과정도 필요하다 접근을 시작하는 임의의 정점을 주고 연결이 어떻게 되는지, 가중치가 같으면 인덱스가 작은 정점부터 방문 다익스트라자 - 중간 과정도 필요하다 최단거리, 최단 경로가 잇으면.. 2023. 12. 1.
데베기초 13주차 데이터 무결성 컬럼 단위로 제약조건 적용시키기 널 제약조건 create table emp02( empno number(4) not null, ename varchar2(10) not null, job varchar2(9), deptno number(2) ); empno, ename 컬럼은 널이 들어가면 안되게 제약 조건을 설정했다 insert into emp02 values (123, null, 'student', 1); insert into emp02 values (null, null, 'student', 1); 이렇게 삽입을 하려고 하면 아래처럼 에러가 뜬다 ORA-01400: cannot insert NULL into ("SQL_CLPLAFNUOGZMKAEMGOGGYFFRA"."EMP02"."EMP.. 2023. 11. 30.
안드교양 13주차 1교시 리스트뷰, 어댑터뷰를 한 것 같은데 수업을 안들었음 2교시 그리드뷰 xml dialog main package com.example.aap; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; public c.. 2023. 11. 30.
데베 13주차 데베 쪽지시험 문제 create database company; use company; create table department( deptno int not null primary key, deptname varchar(20) unique, floor int ); create table employee( empno int not null primary key, empname varchar(20) not null, title varchar(20) default '사원', manager int, salary int, dno int, foreign key(dno) references department(deptno) on update cascade on delete cascade ); INSERT INTO .. 2023. 11. 24.
컴알 13주차 최소신장트리 - 무방향 가중치 그래프 끊어지거나 포함안되는 노드가 없음 크루스칼 유니온 - 파인드를 통해서 서로소 집합, 부모를 찾아서 하는 연산 크루스칼 - 회차가 일어나지 않게 모든 정점을 연결한다 정점 0,1은 9의 가중치를 가지는 간선으로 연결 프림 최소가중치, 트리에 연결된 간선의 가중치로 가중치를 계속 갱신하면서 정점을 추가 양방향으로 연결되있다 0번 정점과 1번 정점의 간선은 가중치 9 0번 정점과 2번 정점의 간선은 가중치 10으로 연결 다른 정점들도 이런 식으로 연결되었다 코드에서는 정점의 갯수만큼 루프를 돌면서 방문하지 않은 가중치가 가장 작은 정점을 찾아서 방문하고 방문한 정점과 인접한 정점(리스트에 들어있는 정점)의 가중치를 갱신한다 시험에서는 코드x, 임의의 시작정점을 주고 최소신.. 2023. 11. 24.
데베기초 12주차 DML에 대해서 배운다 dml 실습을 위한 테이블 livesql에서 만들기 create table dept01 as select * from scott.dept where 1 = 0; create table sam01 as select empno,ename,job,sal from scott.emp where 1 = 0; insert into sam01 values (1000,'apple','police',10000); insert into sam01 values (1010,'banana','nurse',15000); insert into sam01 values (1020,'orange','doctor',25000); insert into sam01 values (1030,'very', null,25000.. 2023. 11. 23.
안드교양 12주차 7장 보고 정리하기.. -> 과제 구글링으로 정리햇다 메인액티비티 package com.example.aap; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.os.Bundle; import android.view.Display; import android.view.Gravity; import android.view.View; import android.view.WindowManager; import android.widget.Button; import android.widget.EditTex.. 2023. 11. 23.
모겜프 12주차 11주차 버블에 쓰레드를 넣을 걸 간단하게 해봤다 ppt 27쪽 까지 진행 2023. 11. 23.
데베기초 11주차 DDL • CREATE CREATE TABLE EMP01( EMPNO NUMBER(4), ENAME VARCHAR2(20), SAL NUMBER(7, 2)); 서브쿼리로 테이블 복제해서 생성하기, livesql에서 실습해서 앞에 스키마명을 붙인다 create table test as select * from scott.emp; 컬럼을 선택해서 원하는 컬럼만 복사하기 CREATE TABLE EMP03 AS SELECT EMPNO, ENAME FROM EMP; CREATE TABLE EMP05 AS SELECT * FROM EMP WHERE DEPTNO=10; where 절을 이용해서 테이블의 구조만 복사하기 항상 false이기에 데이터는 복사되지 않고 구조만 복사된다 CREATE TABLE EMP06 AS SEL.. 2023. 11. 16.
안드교양 11주차 버튼으로 viewflipper 넘기기, 버튼 클릭하면 리니어 레이아웃이 넘어간다 viewflipper 메서드로 자동으로 넘기기, 멈추기, 앞뒤 뷰로 넘어가기 동작 가능 package com.example.aap; import androidx.annotation.MainThread; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.graphics.Color; import android.os.Bundle; import android.os.SystemClock; import android.view.View; import android.widget.ArrayAdapter; impor.. 2023. 11. 16.
11주차 버블 랜덤하게 생성해서 움직이고 클릭하면 터져서 작은 버블이 나옴 bubble package com.example.myapplication; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.PointF; import java.util.Random; public class Bubble { private int scrW, scrH; public boolean isDead; private Context context; private int speed; private PointF dir = new PointF(); private Ran.. 2023. 11. 16.
데베 퀴즈 대비 유저 생성, 권한주기, 테이블 생성 -- ho 라는 사용자 생성, 비밀번호는 1111(반드시 작은 따옴표로) create user ho@localhost identified by '1111'; -- test 스키마를 만들고 변경할 수 있는권한을 ho에게 준다 grant all privileges on test.* to ho@localhost with grant option; -- 테이블 만들기, check 옵션, 기본키 auto_increment, 외래키 생성할때 어떻게 하는지를 중점적으로 보기 create table publisher( pubno char(4) check(pubno like 'p___') primary key, pubname varchar(20) default '한양출판사' check(.. 2023. 11. 16.
10주차 실기, 오픈북인데 소스 복붙안됨, • 내부함수 예제 use madang; -- 내장함수fh 도서 테이블의 출판사의 가격 평균을 백원단위 반올림 select publisher, round(avg(price),-2) from book group by publisher; select publisher, truncate(avg(price),-2) from book group by publisher; -- 고객 테이블 주소에서 대한민국을 한국으료 변경해서 검색 select replace(address,'대한민국','한국') from customer; -- 같은 성을 가진 사람이 몇 명이나 되는지 성별, 인원수를 구하기 = 20000; update book set price = 50000 where bookid =.. 2023. 11. 10.
10주차 기말에 힙, 퀵, avl 59, 78, 65, 23, 7, 25, 52, 49, 99, 80 10개를 순차적으로 넣을 때 avl 트리 만드는 과정 • DFS 인접 리스트를 이용한 dfs 탐색 adj_list = [[2, 1], [3, 0], [3, 0], [9, 8, 2, 1], [5], [7, 6, 4], [7, 5], [6, 5], [3], [3]] n = len(adj_list) visited = [0] * n def dfs(v): visited[v] = 1 print(v,' ', end = ' ') for i in adj_list[v]: if visited[i] == 0: dfs(i) print("dfs") for i in range(n): if visited[i] == 0: dfs(i) 0~9 .. 2023. 11. 10.
데베기초 10주차 • 서브쿼리 다중 행 연산자 in, not in 두개 정도만 나온다 select * from employees e where e.salary like ( select salary from employees where last_name like 'De Haan'); select * from employees e where e.salary in(select min(salary) from employees group by department_id) order by e.salary desc; 다중 열 서브쿼리 select * from employees e where (e.job_id, e.salary) in (select job_id, min(salary) from employees group by job_id.. 2023. 11. 9.
안드교양 10주차 xml에서 시간, 날짜 등 디자인하기 CalendarView 2023. 11. 9.
모겜프 10주차 비눗방울 Bubble.java package com.example.mgp_lecture; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import java.util.Random; public class Bubble { public int w, h; public int sx, sy; public Bitmap bubble; public int x, y, bw; public Bubble(Context context, int sw, int sh, int px, int py) { w = sw; h = sh; x = px; y = py; Random rnd = new Rando.. 2023. 11. 9.
페이징 페이징을 사용하는 이유 - 목록이 100만개일때 100만개 전부를 select로 한번에 가져오는 것은 엄청난 부하가 걸린다 데이터베이스에서 데이터 양을 적당히 끊어서 가져오는 것을 페이징이라고 한다, 페이징에는 2가지 형태가 있다 Offset based paging - 페이지 번호를 찾아서 이동하는 페이징 select* from book order by likes desc limit 10 offset 0; 데이터를 10개씩 가져와서 보여주고 0개씩 건너뛴다 limit - 가져오는 데이터의 갯수, offset - 건너뛸 데이터의 양 페이지 x번에 대하여 한 페이지에 y개를 보여주기 select * from book order by likes desc limit y offset(x - 1) * y; Offs.. 2023. 10. 29.
조인, 서브쿼리 조금 더 알아본 내용 조인을 위해서는 기본키(PRIMARY KEY, PK)와 외래키(FOREIGN KEY, FK) 관계로 맺어져야 하고, 이를 일대다 관계라고 한다 조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다. OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다. CROSS JOIN(상호 조인)은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다. SELF JOIN(자체 조인)은 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다. inner join - 교집합 outer join - 합집합 LEFT.. 2023. 10. 29.